Open domibel opened 9 years ago
I've re-run cppcheck to see the state of play now. Results are below, along with my opinion on if the report is true or not:
true: [bgzf.c:166]: (error) Memory leak: fp
true: [bgzf.c:1038]: (error) Resource leak: idx
true: [cram/cram_codecs.c:1210]: (error) Common realloc mistake: 'vals' nulled but not freed upon failure
true: [cram/cram_codecs.c:1211]: (error) Common realloc mistake: 'freqs' nulled but not freed upon failure
true: [cram/cram_codecs.c:1235]: (error) Common realloc mistake: 'vals' nulled but not freed upon failure
true: [cram/cram_codecs.c:1236]: (error) Common realloc mistake: 'freqs' nulled but not freed upon failure
true: [cram/cram_codecs.c:1252]: (error) Common realloc mistake: 'freqs' nulled but not freed upon failure
false: [cram/cram_codecs.c:957]: (error) Memory leak: h
false: [cram/cram_codecs.c:1359]: (error) Memory leak: freqs
false: [cram/cram_codecs.c:1359]: (error) Memory leak: lens
false: [cram/cram_codecs.c:1216]: (error) Memory leak: c
false: [cram/cram_codecs.c:1630]: (error) Memory leak: c
false: [cram/cram_codecs.c:1897]: (error) Memory leak: t
true: [cram/cram_codecs.c:1927]: (error) Memory leak: t
true: [cram/cram_codecs.c:1296]: (error) Memory leak: freqs
true: [cram/cram_codecs.c:1296]: (error) Memory leak: lens
true: [cram/cram_codecs.c:1238]: (error) Memory leak: c
false: [cram/cram_decode.c:142]: (error) Memory leak: hdr
false: [cram/cram_decode.c:376]: (error) Memory leak: m
false: [cram/cram_decode.c:646]: (error) Memory leak: m
false: [cram/cram_decode.c:977]: (error) Memory leak: block_used
false: [cram/cram_decode.c:2663]: (error) Memory leak: refs
true: [cram/cram_decode.c:2307]: (error) Memory leak: refs
true: [cram/cram_index.c:287]: (error) Common realloc mistake: 'idx_stack' nulled but not freed upon failure
true: [cram/cram_index.c:191]: (error) Resource leak: fp
false: [cram/cram_index.c:171]: (error) Memory leak: idx_stack
false: [cram/cram_io.c:352]: (error) Signed integer overflow for expression '(72057594037927936)-1'.
false: [cram/cram_io.c:428]: (error) Signed integer overflow for expression '(72057594037927936)-1'.
false: [cram/cram_io.c:509]: (error) Signed integer overflow for expression '(72057594037927936)-1'.
false: [cram/cram_io.c:599]: (error) Signed integer overflow for expression '(72057594037927936)-1'.
false: [cram/cram_io.c:945]: (error) Memory leak: b
false: [cram/cram_io.c:3622]: (error) Memory leak: def
false: [cram/cram_io.c:3947]: (error) Memory leak: pads
true: [cram/cram_io.c:864]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
true: [cram/cram_io.c:889]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
true: [cram/cram_stats.c:161]: (error) Common realloc mistake: 'vals' nulled but not freed upon failure
true: [cram/cram_stats.c:162]: (error) Common realloc mistake: 'freqs' nulled but not freed upon failure
true: [cram/cram_stats.c:186]: (error) Common realloc mistake: 'vals' nulled but not freed upon failure
true: [cram/cram_stats.c:187]: (error) Common realloc mistake: 'freqs' nulled but not freed upon failure
true: [cram/mFILE.c:98]: (error) Common realloc mistake: 'data' nulled but not freed upon failure
true: [cram/pooled_alloc.c:186]: (error) Memory leak: items
true: [cram/rANS_static.c:866]: (error) Resource leak: infp
true: [cram/rANS_static.c:866]: (error) Resource leak: outfp
true: [cram/sam_header.c:426]: (error) va_list 'args' was opened but not closed by va_end().
true: [cram/sam_header.c:726]: (error) va_list 'ap' was opened but not closed by va_end().
true: [cram/thread_pool.c:291]: (error) Dereferencing 'q' after it is deallocated / released (if DEBUG defined)
true: [cram/thread_pool.c:733]: (error) Dereferencing 'p' after it is deallocated / released (if DEBUG defined)
true: [cram/vlen.c:111]: (error) va_list 'args' was opened but not closed by va_end().
true: [cram/zfio.c:177]: (error) Invalid number of character '{' when these macros are defined: 'HAVE_POPEN'.
true: [faidx.c:327]: (error) Memory leak: fai
true: [hts.c:979]: (error) Common realloc mistake: 's' nulled but not freed upon failure (via htslib/hts.h hts_expand())
true: [hts.c:998]: (error) Common realloc mistake: 's' nulled but not freed upon failure (via htslib/hts.h hts_expand())
true: [hts.c:1007]: (error) Common realloc mistake: 's' nulled but not freed upon failure
true: [hts.c:1030]: (error) Common realloc mistake: 's' nulled but not freed upon failure
true: [hts.c:1040]: (error) Common realloc mistake: 's' nulled but not freed upon failure
true: [hts.c:1048]: (error) Common realloc mistake: 's' nulled but not freed upon failure
true: [hts.c:1056]: (error) Common realloc mistake: 's' nulled but not freed upon failure
false: [hts.c:54]: (error) Memory leak: new_flags
false: [hts.c:512]: (error) Memory leak: o
false: [hts.c:1106]: (error) Memory leak: new_flags
false: [hts.c:1186]: (error) Memory leak: idx
false: [hts.c:1801]: (error) Memory leak: off
true: [sam.c:300]: (error) Common realloc mistake: 'data' nulled but not freed upon failure
false: [sam.c:641]: (error) Memory leak: iter
false: [sam.c:1597]: (error) Memory leak: new_flags
true: [synced_bcf_reader.c:89]: (error) Common realloc mistake: 'out' nulled but not freed upon failure
false?: [tabix.c:171]: (error) Possible null pointer dereference: regs
false?: [tabix.c:205]: (error) Possible null pointer dereference: regs
false?: [tabix.c:225]: (error) Possible null pointer dereference: regs
true: [test/hfile.c:172]: (error) Memory leak: original (exiting, don't care)
true: [test/hfile.c:172]: (error) Memory leak: text (exiting, don't care)
false?: [vcf.c:1421]: (error) Possible null pointer dereference: a
false?: [vcf.c:1425]: (error) Possible null pointer dereference: a
true: [vcf.c:800]: (error) Memory leak: h
true: [vcf.c:1285]: (error) Memory leak: h
It looks like there may be a few things still to fix here.
Here are some potential memory leaks detected with Cppcheck 1.66
~/htslib$ cppcheck --version Cppcheck 1.66