Errors seen in LOGS/python-markupsafe-0.11-4.fc17

This is a summary of errors seen when compiling with an experimental static analysis tool

Raw build logs can be seen here

Segfaults within error-handling paths

Code paths in error-handling that will lead to a segmentatation fault (e.g. under low memory conditions)

markupsafe/_speedups.c escape dereferencing NULL (s->ob_refcnt) at markupsafe/_speedups.c:157
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10355].str) at markupsafe/_speedups.c:37
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10353].str) at markupsafe/_speedups.c:36
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10351].str) at markupsafe/_speedups.c:35
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10349].str) at markupsafe/_speedups.c:34
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10347].str) at markupsafe/_speedups.c:33
markupsafe/_speedups.c escape dereferencing NULL (s->ob_refcnt) at markupsafe/_speedups.c:157
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10472].str) at markupsafe/_speedups.c:37
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10470].str) at markupsafe/_speedups.c:36
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10468].str) at markupsafe/_speedups.c:35
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10466].str) at markupsafe/_speedups.c:34
markupsafe/_speedups.c init_constants dereferencing NULL (MEM[(struct PyUnicodeObject *)D.10464].str) at markupsafe/_speedups.c:33

Possible reference leaks

Code paths in which the reference count of an object might too large - but in which the reference in question came from a function not known to the analyzer.

The analyzer assumes such references are new references, but if the function returns a borrowed reference instead, it's probably not a bug

markupsafe/_speedups.c init_constants ob_refcnt of new ref from (unknown) PyUnicodeUCS4_DecodeASCII is 1 too high
markupsafe/_speedups.c init_constants ob_refcnt of new ref from (unknown) PyUnicodeUCS4_DecodeASCII is 1 too high

Returning (PyObject*)NULL without setting an exception

These messages are often false-positives: the analysis tool has no knowledge about internal API calls that can lead to an exception being set
markupsafe/_speedups.c PyInit__speedups returning (PyObject*)NULL without setting an exception