Changeset 33b735c


Ignore:
Timestamp:
11/22/18 13:53:35 (2 years ago)
Author:
Jacob Van Walraven <jcv9@…>
Branches:
develop
Children:
89cc0cc
Parents:
2725318
Message:

More assertion cleanup

Location:
lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lib/libtrace.h.in

    r2725318 r33b735c  
    320320        /** Filter is NULL **/
    321321        TRACE_ERR_NULL_FILTER = -18,
    322         /** Unable to lock/unlock mutex **/
    323         TRACE_ERR_MUTEX = -19
     322        /** Buffer is NULL **/
     323        TRACE_ERR_NULL_BUFFER = -19,
     324        /** Trace err stat **/
     325        TRACE_ERR_STAT = -20,
    324326};
    325327
  • lib/trace.c

    r2725318 r33b735c  
    516516                                break;
    517517                        default:
     518                                /* Should never get here */
    518519                                assert(!"Internal error: init_output() should return -1 for failure, or 0 for success");
    519520                }
     
    10001001                return TRACE_ERR_NULL_TRACE;
    10011002        }
     1003
    10021004        if (trace_is_err(libtrace))
    10031005                return -1;
     1006
    10041007        if (!libtrace->started) {
    10051008                trace_set_err(libtrace,TRACE_ERR_BAD_STATE,"You must call libtrace_start() before trace_read_packet()\n");
     
    10091012        /*assert(packet);*/
    10101013        if (!packet) {
    1011                 return TRACE_ERR_NULL_PACKET;
     1014                trace_set_err(libtrace, TRACE_ERR_NULL_PACKET, "Packet passed into trace_read_packet() is NULL");
     1015                return -1;
    10121016        }
    10131017
     
    10981102                void *buffer, libtrace_rt_types_t rt_type, uint32_t flags) {
    10991103
    1100         /*assert(packet);*/
    1101         if (!packet) {
    1102                 return TRACE_ERR_NULL_PACKET;
    1103         }
    11041104        /*assert(trace);*/
    11051105        if (!trace) {
     
    11071107        }
    11081108
    1109         /* XXX Proper error handling?? */
    1110         if (buffer == NULL)
     1109        /*assert(packet);*/
     1110        if (!packet) {
     1111                trace_set_err(trace, TRACE_ERR_NULL_TRACE, "Packet passed into trace_prepare_packet() is NULL");
    11111112                return -1;
     1113        }
     1114
     1115        if (!buffer) {
     1116                trace_set_err(trace, TRACE_ERR_NULL_BUFFER, "Buffer passed into trace_prepare_packet() is NULL");
     1117                return -1;
     1118        }
    11121119
    11131120        if (!(packet->buf_control==TRACE_CTRL_PACKET || packet->buf_control==TRACE_CTRL_EXTERNAL)) {
     
    11451152        /*assert(packet);*/
    11461153        if (!packet) {
    1147                 return TRACE_ERR_NULL_PACKET;
     1154                trace_set_err_out(libtrace, TRACE_ERR_NULL_PACKET, "Packet passed into trace_write_packet() is NULL");
     1155                return -1;
    11481156        }
    11491157        /* Verify the packet is valid */
     
    16061614         */
    16071615        static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
     1616
     1617        if (!packet) {
     1618                return TRACE_ERR_NULL_PACKET;
     1619        }
     1620
    16081621        /*assert(filter);*/
    16091622        if (!filter) {
     
    16121625                return -1;
    16131626        }
    1614 
    16151627
    16161628        /* If this isn't a real packet, then fail */
     
    16351647                }
    16361648                /*assert (pthread_mutex_lock(&mutex) == 0);*/
    1637                 if (!(pthread_mutex_lock(&mutex) == 0)) {
    1638                         trace_set_err(packet->trace, TRACE_ERR_MUTEX,
    1639                                         "Unable to lock mutex trace_bpf_compile()");
    1640                         return -1;
    1641                 }
     1649                pthread_mutex_lock(&mutex);
    16421650                /* Make sure not one bet us to this */
    16431651                if (filter->flag) {
    16441652                        /*assert (pthread_mutex_unlock(&mutex) == 0);*/
    1645                         if (!(pthread_mutex_unlock(&mutex) == 0)) {
    1646                                 trace_set_err(packet->trace, TRACE_ERR_MUTEX,
    1647                                                 "Unable to unlock mutex trace_bpf_compile()");
    1648                         }
     1653                        pthread_mutex_unlock(&mutex);
    16491654                        return -1;
    16501655                }
     
    16671672                        pcap_close(pcap);
    16681673                        /*assert (pthread_mutex_unlock(&mutex) == 0);*/
    1669                         if (!(pthread_mutex_unlock(&mutex) == 0)) {
    1670                                 trace_set_err(packet->trace, TRACE_ERR_MUTEX,
    1671                                         "Unable to unlock mutex trace_bpf_compile()");
    1672                         }
     1674                        pthread_mutex_unlock(&mutex);
    16731675                        return -1;
    16741676                }
     
    16761678                filter->flag=1;
    16771679                /*assert (pthread_mutex_unlock(&mutex) == 0);*/
    1678                 if (!(pthread_mutex_unlock(&mutex) == 0)) {
    1679                         trace_set_err(packet->trace, TRACE_ERR_MUTEX,
    1680                                 "Unable to unlock mutex trace_bpf_compile()");
    1681                         return -1;
    1682                 }
     1680                pthread_mutex_unlock(&mutex);
    16831681        }
    16841682        return 0;
     
    17061704        /*assert(packet);*/
    17071705        if (!packet) {
    1708                 /* Cannot set error in trace without access to it via the
    1709                  * packet so just return -1 */
    1710                 return -1;
     1706                return TRACE_ERR_NULL_PACKET;
    17111707        }
    17121708        /*assert(filter);*/
     
    19811977 */
    19821978DLLEXPORT size_t trace_set_capture_length(libtrace_packet_t *packet, size_t size) {
    1983         /* not sure what to return here is packet is null will come back to it */
    1984         assert(packet);
     1979        /*assert(packet);*/
     1980        if (!packet) {
     1981                return ~0U;
     1982        }
    19851983
    19861984        if (packet->trace->format->set_capture_length) {
     
    25072505
    25082506int trace_print_statistics(const libtrace_stat_t *s, FILE *f, const char *format) {
    2509         assert(s->magic == LIBTRACE_STAT_MAGIC && "Please use"
    2510                "trace_create_statistics() to allocate statistics");
     2507        /*assert(s->magic == LIBTRACE_STAT_MAGIC && "Please use"
     2508               "trace_create_statistics() to allocate statistics");*/
     2509        if (!(s->magic == LIBTRACE_STAT_MAGIC)) {
     2510                return TRACE_ERR_STAT;
     2511        }
    25112512        if (format == NULL)
    25122513                format = "%s: %"PRIu64"\n";
Note: See TracChangeset for help on using the changeset viewer.