This is a summary of errors seen when compiling with an experimental static analysis tool
Raw build logs can be seen here
Code paths in which the reference count of an object is left too low. This could lead to the object being deallocated too early, triggering segfaults when later accessed. Over repeated calls, these errors could accumulate, increasing the likelihood of a segfault.
isys.c | doWipeRaidSuperblock | ob_refcnt of return value is 1 too low |
Code paths in which the reference count of an object is left too high, leading to memory leaks
isys.c | doMount | ob_refcnt of '*tuple' is 1 too high |
isys.c | doUMount | ob_refcnt of '*tuple' is 1 too high |
Code paths in which the reference count of an object is left too high, but within an initialization routine, and thus likely to only happen once
isys.c | init_isys | ob_refcnt of PyIntObject is 1 too high |
Code paths in error-handling that will lead to a segmentatation fault (e.g. under low memory conditions)
These messages are often false-positives: the analysis tool has no knowledge about internal API calls that can lead to an exception being set
isys.c | doPrefixToNetmask | returning (PyObject*)NULL without setting an exception |