Coverity Errors

ID Checker File Function Classification
16 CHECKED_RETURN /src2/git/pcp/src/libpcp/src/logutil.c __pmLogSetTime IGNORED
 sbuf.st_size set to 0 before the fstat() call.
26 DEADCODE /src2/git/pcp/src/libpcp/src/profile.c pmDelProfile FIXED
 Commit 05c47a1
27 DEADCODE /src2/git/pcp/src/libpcp/src/profile.c pmAddProfile FIXED
 Commit 470e92b
30 DEADCODE /src2/git/pcp/src/libpcp/src/pmns.c TraversePMNS_local FIXED
 Commit 2d569de, Needs review [reviewed by Mark]
31 DEADCODE /src2/git/pcp/src/libpcp/src/pmns.c loadbinary IGNORED
 version maybe 0 if HAVE_32BIT_PTR is #defined.
32 DEADCODE /src2/git/pcp/src/libpcp/src/pmns.c pmGetChildrenStatus IGNORED
 No issue, Coverity analysis is wrong? Needs review [reviewed by Mark]
33 DEADCODE /src2/git/pcp/src/libpcp/src/pmns.c loadascii FIXED
 Commit f3e61c2
36 DEADCODE /src2/git/pcp/src/libpcp/src/p_result.c __pmDecodeResult FIXED
 Commit fd4347f
50 FORWARD_NULL /src2/git/pcp/src/libpcp/src/pmns.c findseen IGNORED
 seen == np guards lnp dereference on the first iteration
60 FORWARD_NULL /src2/git/pcp/src/libpcp/src/optfetch.c __pmOptFetchAdd FIXED
 Logic is complicated here, but appears correct. Added an explicit assert() to ensure pointers are not NULL. Commit ee414dd
62 FORWARD_NULL /src2/git/pcp/src/libpcp/src/optfetch.c __pmOptFetchAdd FIXED
  Commit ee414dd for issue #60 included and assert() guard for both pmp and idp.
66 FORWARD_NULL /src2/git/pcp/src/libpcp/src/logutil.c __pmLogFetch IGNORED
 No issue, *result is set in __pmLogRead(). Coverity analysis is wrong.
67 FORWARD_NULL /src2/git/pcp/src/libpcp/src/derive.c check_expr FIXED
 Logic is correct. Added an explicit assert() to ensure np->left is not NULL. Commit 04df4cd
68 FORWARD_NULL /src2/git/pcp/src/libpcp/src/p_pmns.c __pmDecodeNameList FIXED
 Commit 5b84262
69 FORWARD_NULL /src2/git/pcp/src/libpcp/src/p_pmns.c __pmDecodeNameList FIXED
 Commit a4aaef9
73 FORWARD_NULL /src2/git/pcp/src/libpcp/src/derive_fetch.c eval_expr FIXED
 Logic is correct. Added an explicit assert() to ensure np->left is not NULL. Commit 74ccf68
84 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/err.c pmErrStr IGNORED
 We really mean to call strerror with the argument -1 in this case!
90 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/logutil.c fopen_compress FIXED
 Commit 4aa8b7d guards against fd being negative from temporary file create - fixes issue #90 and #100
91 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/logutil.c __pmGetArchiveEnd FIXED
 Commit 0589401 adds check for the unlikely ftell() failing case
98 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/pmns.c loadbinary FIXED
 Commit ece0188 adds check for the unlikely ftell() failing case
100 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/logutil.c fopen_compress FIXED
 Commit 4aa8b7d guards against fd being negative from temporary file create - fixes issue #90 and #100
105 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp FIXED
 Commit 00e76cd follow all ftell() calls by an assert to ensure a non-negative result
109 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/util.c logreopen FIXED
 Commit 5d4585c
113 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/logutil.c __pmGetArchiveEnd FIXED
 Commit 00e76cd
115 NEGATIVE_RETURNS /src2/git/pcp/src/libpcp/src/logutil.c __pmLogRead FIXED
 Commit 00e76cd
124 NO_EFFECT /src2/git/pcp/src/libpcp/src/units.c pmExtractValue FIXED
 Commit 62a0c2e
128 NULL_RETURNS /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp FIXED
 Commit 3a882ff adds assert()s to ensure the result from __pmHashSearch() is not NULL in the places where we assume this to be the case
129 NULL_RETURNS /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp FIXED
 Also fixed in commit 3a882ff for issue #128
132 NULL_RETURNS /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp FIXED
 Also fixed in commit 3a882ff for issue #128
133 NULL_RETURNS /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp FIXED
 Also fixed in commit 3a882ff for issue #128
144 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/loop.c pmLoopRegisterSignal FIXED
 Nathan's commit d1552a0
147 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/spec.c hostAdd FIXED
 Commit 5160602
153 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c loadascii FIXED
 Commit 15fbdcb adds miscellaneous calls to free() on error branches to cleanup more rigorously
155 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/context.c pmNewContext FIXED
 Commit ee5f031
156 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c AddPMNSNode FIXED
 See commit 15fbdcb for issue #153
161 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/fetch.c pmFetch FIXED
 No real problem here, commit b15b6ef introduces a change to try and keep Coverity quiet
163 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/connectlocal.c build_dsotab FIXED
 Commit 1192405 adds free(config) on error branch
164 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/logportmap.c __pmIsLocalhost FIXED
 Commit c978eae adds free(laddrs) on the error branch
165 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c pmGetChildrenStatus FIXED
 See commit 15fbdcb for issue #153
166 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c attach FIXED
 See commit 15fbdcb for issue #153
172 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/derive.c __dmchildren FIXED
 Added an explicit assert() to ensure no mallocs have been done in the early return case, see commit 52fd399
173 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c __pmNewPMNS FIXED
 See commit 15fbdcb for issue #153
174 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/logutil.c __pmLogNewFile FIXED
 Commit afd497d
178 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c attach FIXED
 See commit 15fbdcb for issue #153
181 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/logmeta.c __pmLogLoadMeta FIXED
 Commit 55cbb6c adds free() calls on error branches for #181 and #204
189 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp FIXED
 Logic is correct, commit 9c0dd0e changes guards to try and placate Coverity
196 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/derive.c __dmchildren FIXED
 Added an explicit assert() to ensure no mallocs have been done in the early return case, see commit 52fd399
204 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/logmeta.c __pmLogLoadMeta FIXED
 Commit 55cbb6c adds free() calls on error branches for #181 and #204
212 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/derive.c parse FIXED
 Commit 1ae0668
216 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/derive.c parse FIXED
 Commit 0ac191b adds an assert() to help persuade Coverity that there is no issue here
217 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/logutil.c __pmGetArchiveEnd FIXED
 Commit 6f0b83e
221 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/derive.c parse FIXED
 Commit 0ac191b for issue #216 also fixes this one
229 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/derive.c parse FIXED
 Commit 0ac191b for issue #216 also fixes this one
230 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/fetchlocal.c __pmFetchLocal FIXED
 Commit dccd6be adds free() calls on the error path
233 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c loadbinary FIXED
 See commit 15fbdcb for issue #153
234 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c loadbinary FIXED
 See commit 15fbdcb for issue #153
235 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/derive.c pmLoadDerivedConfig FIXED
 Commit 0276fb9
242 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/pmns.c loadbinary FIXED
 See commit 15fbdcb for issue #153
247 RESOURCE_LEAK /src2/git/pcp/src/libpcp/src/logmeta.c __pmLogLoadMeta FIXED
 Commit 6b8534a
256 REVERSE_INULL /src2/git/pcp/src/libpcp/src/p_pmns.c __pmSendNameList FIXED
 Commit 4ba8377 removes the pointless test for namelist != NULL
257 REVERSE_INULL /src2/git/pcp/src/libpcp/src/loop.c loop_dispatch_timeouts IGNORED
 No idea what this code is doing (Greg, where are you?), but it is not being used and is removed in PCP 4.0
276 SIZECHECK /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp IGNORED
 Size for allocation is correct for the numval==0 case where vlist[] is not used
277 SIZECHECK /src2/git/pcp/src/libpcp/src/interp.c __pmLogFetchInterp IGNORED
 Size for allocation is correct for the numval==0 case where vlist[] is not used
298 UNINIT /src2/git/pcp/src/libpcp/src/pmns.c pmTraversePMNS FIXED
 Error handling logic reworked slightly in commit accaf3f
307 UNREACHABLE /src2/git/pcp/src/libpcp/src/derive.c get FIXED
 Commit 2b3964b and reworked (correctly this time!) in commit 52fd399
316 UNUSED_VALUE /src2/git/pcp/src/libpcp/src/derive.c __pmRegisterAnon FIXED
 Commit 009518a
325 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/util.c __pmDumpResult IGNORED
 No issue, Coverity analysis is wrong? Needs review [reviewed by Mark]
327 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/logutil.c __pmGetArchiveEnd IGNORED
 No issue, Coverity analysis is wrong? Needs review [reviewed by Mark]
337 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/interp.c cache_read IGNORED
 No issue, Coverity analysis is wrong? Needs review [reviewed by Mark]
342 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/logutil.c __pmLogPutResult FIXED
 Commit d89bda2
343 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/logutil.c __pmLogPutResult FIXED
 See commit d89bda2 for issue #342
345 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/logutil.c __pmGetArchiveEnd IGNORED
  Commit ceb12dd adds another check to ensure FILE *f from _logpeek() is closed. This does not address the original Coverity issue, which I believe shows incorrect analysis. Needs review [reviewed by Mark]
347 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/optfetch.c __pmOptFetchAdd FIXED
 Commit ee414dd for issue #60 adds and assert() that makes the scenario in this analysis impossible.
349 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/optfetch.c __pmOptFetchAdd IGNORED
 No issue, @free(fp), tfp!=fp ... Coverity analysis is wrong? Needs review [reviewed by Mark]
350 USE_AFTER_FREE /src2/git/pcp/src/libpcp/src/optfetch.c __pmOptFetchAdd IGNORED
 How is this issue different to issue #349? No issue, @free(fp), tfp!=fp ... Coverity analysis is wrong? Needs review [reviewed by Mark]