| 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] | ||||