Changes in / [f47025d:32de4c7]


Ignore:
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • examples/stats/stats.c

    rb9009c2 r4ac48fa  
    201201                trace_destroy(trace);
    202202        }
    203 
     203        if (filter) {
     204                trace_destroy_filter(filter);
     205        }
    204206        return 0;
    205207}
  • lib/format_etsilive.c

    rccabd47 rb359a11  
    362362                                sizeof(etsisocket_t) * (et->sourcealloc + 10));
    363363
     364                        for (i = et->sourcealloc; i < et->sourcealloc + 10;
     365                                        i++) {
     366                                et->sources[i].sock = -1;
     367                                et->sources[i].srcaddr = NULL;
     368                        }
    364369                        esock = &(et->sources[et->sourcealloc]);
    365370                        et->sourcealloc += 10;
  • lib/format_linux_common.c

    r509ee47 r5fe998b  
    7070        pcap_t *pcap;
    7171
    72         /* Take a copy of the filter object as it was passed in */
    73         f = (libtrace_filter_t *) malloc(sizeof(libtrace_filter_t));
    74         memcpy(f, filter, sizeof(libtrace_filter_t));
     72        /* Take a copy of the filter structure to prevent against
     73         * deletion causing the filter to no longer work */
     74        f = (libtrace_filter_t *) malloc(sizeof(libtrace_filter_t));
     75        memset(f, 0, sizeof(libtrace_filter_t));
     76        memcpy(f, filter, sizeof(libtrace_filter_t));
     77        f->filterstring = strdup(filter->filterstring);
    7578
    7679        /* If we are passed a filter with "flag" set to zero, then we must
     
    120123
    121124        if (FORMAT_DATA->filter != NULL)
    122                 free(FORMAT_DATA->filter);
     125                trace_destroy_filter(FORMAT_DATA->filter);
    123126
    124127        FORMAT_DATA->filter = f;
     
    498501        if (libtrace->format_data) {
    499502                if (FORMAT_DATA->filter != NULL)
    500                         free(FORMAT_DATA->filter);
     503                        trace_destroy_filter(FORMAT_DATA->filter);
    501504
    502505                if (FORMAT_DATA->per_stream)
  • lib/format_linux_ring.c

    r9a6bdbc r9a6bdbc  
    318318                }
    319319
    320                 if (FORMAT_DATA->filter != NULL)
    321                         free(FORMAT_DATA->filter);
     320                if (FORMAT_DATA->filter != NULL)
     321                        trace_destroy_filter(FORMAT_DATA->filter);
    322322
    323323                if (FORMAT_DATA->per_stream)
  • lib/format_ndag.c

    r509ee47 r6514097  
    335335                default:
    336336                        trace_set_err(libtrace, TRACE_ERR_OPTION_UNAVAIL,
    337                                         "Unsupported option");
     337                                        "Unsupported option %d",
     338                                        option);
    338339                        return -1;
    339340        }
  • lib/trace.c

    r9a6bdbc r5fe998b  
    15541554#else
    15551555        struct libtrace_filter_t *filter = (struct libtrace_filter_t *)
    1556                 malloc(sizeof(struct libtrace_filter_t));
     1556                calloc(1, sizeof(struct libtrace_filter_t));
    15571557        filter->filter.bf_insns = (struct bpf_insn *)
    15581558                malloc(sizeof(struct bpf_insn) * bf_len);
     
    15781578#ifdef HAVE_BPF
    15791579        libtrace_filter_t *filter = (libtrace_filter_t*)
    1580                                 malloc(sizeof(libtrace_filter_t));
     1580                                calloc(1, sizeof(libtrace_filter_t));
    15811581        filter->filterstring = strdup(filterstring);
    15821582        filter->jitfilter = NULL;
  • lib/trace_parallel.c

    r9c46b65 r29760bc  
    22772277
    22782278        if (ret == -1) {
     2279                libtrace_err_t err;
     2280
    22792281                /* We have to deal with this ourself */
     2282                /* If we succeed, clear any error state otherwise our caller
     2283                 * might assume an error occurred, even though we've resolved
     2284                 * the issue ourselves.
     2285                 */
    22802286                if (!hasher) {
    22812287                        switch (type)
     
    22832289                                case HASHER_CUSTOM:
    22842290                                case HASHER_BALANCE:
     2291                                        err = trace_get_err(trace);
    22852292                                        return 0;
    22862293                                case HASHER_BIDIRECTIONAL:
     
    22882295                                        trace->hasher_data = calloc(1, sizeof(toeplitz_conf_t));
    22892296                                        toeplitz_init_config(trace->hasher_data, 1);
     2297                                        err = trace_get_err(trace);
    22902298                                        return 0;
    22912299                                case HASHER_UNIDIRECTIONAL:
     
    22932301                                        trace->hasher_data = calloc(1, sizeof(toeplitz_conf_t));
    22942302                                        toeplitz_init_config(trace->hasher_data, 0);
     2303                                        err = trace_get_err(trace);
    22952304                                        return 0;
    22962305                        }
Note: See TracChangeset for help on using the changeset viewer.