Changeset ae8196e


Ignore:
Timestamp:
09/29/05 17:13:10 (15 years ago)
Author:
Shane Alcock <salcock@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
18478c1
Parents:
8283f05
Message:

A few changes that fix tiny memory leaks

Location:
lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • lib/format_erf.c

    rb69afb1 rae8196e  
    321321#endif
    322322        }
    323        
     323        free(filemode);
    324324        return 1;
    325325}
     
    330330        int level = OPTIONS.erf.level;
    331331        optind = 1;
     332
    332333
    333334        while ((opt = getopt(argc, argv, "z:")) != EOF) {
     
    370371        fclose(INPUT.file);     
    371372#endif
     373        free(libtrace->format_data);
    372374}
    373375
     
    382384        fclose(OUTPUT.file);
    383385#endif
     386        free(libtrace->format_data);
    384387}
    385388 
  • lib/libtrace_int.h

    r8283f05 rae8196e  
    7575static struct {
    7676        int err_num;    // error code
    77         char *problem;  // the format, uri etc that caused the error for reporting purposes
     77        char problem[255];      // the format, uri etc that caused the error for reporting purposes
    7878} trace_err;
    7979
  • lib/trace.c

    rb69afb1 rae8196e  
    266266        if (libtrace->format == 0) {
    267267                trace_err.err_num = E_BAD_FORMAT;
    268                 trace_err.problem = scan;
     268                strcpy(trace_err.problem, scan);
     269                //trace_err.problem = scan;
    269270                return 0;
    270271        }
     
    278279                if (!libtrace->format->init_input( libtrace)) {
    279280                        trace_err.err_num = E_INIT_FAILED;
    280                         trace_err.problem = scan;
     281                        strcpy(trace_err.problem, scan);
     282                        //trace_err.problem = scan;
    281283                        return 0;
    282284                }
    283285        } else {
    284286                trace_err.err_num = E_NO_INIT;
    285                 trace_err.problem = scan;
     287                strcpy(trace_err.problem, scan);
     288                //trace_err.problem = scan;
    286289                return 0;
    287290        }
     
    290293        libtrace->fifo = create_tracefifo(1048576);
    291294        assert( libtrace->fifo);
    292 
     295        free(scan);
    293296        return libtrace;
    294297}
     
    329332        if (libtrace->format == 0) {
    330333                trace_err.err_num = E_BAD_FORMAT;
    331                 trace_err.problem = scan;
     334                strcpy(trace_err.problem, scan);
     335                //trace_err.problem = scan;
    332336                return 0;
    333337        }
    334 
     338       
     339        free(scan);
    335340        return libtrace;
    336341
     
    380385        if (libtrace->format == 0) {
    381386                trace_err.err_num = E_BAD_FORMAT;
    382                 trace_err.problem = scan;       
     387                strcpy(trace_err.problem, scan);
     388                //trace_err.problem = scan;     
    383389                return 0;
    384390        }
     
    395401        } else {
    396402                trace_err.err_num = E_NO_INIT_OUT;
    397                 trace_err.problem = scan;
     403                strcpy(trace_err.problem, scan);
     404                //trace_err.problem = scan;
    398405                return 0;
    399406        }
     
    402409        libtrace->fifo = create_tracefifo(1048576);
    403410        assert( libtrace->fifo);
    404 
     411        free(scan);
    405412        return libtrace;
    406413}
     
    424431                return 0;
    425432        }
    426        
    427433        asprintf(&opt_string, "%s %s", libtrace->format->name, options);
    428434        parse_cmd(opt_string, &opt_argc, opt_argv, MAXOPTS);
     
    13441350        // push uridata past the delimiter
    13451351        uridata++;
     1352       
    13461353        return uridata;
    13471354}
Note: See TracChangeset for help on using the changeset viewer.