Errors seen in LOGS/python-ethtool-0.7-2.fc16

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

Raw build logs can be seen here

Reference leaks

Code paths in which the reference count of an object is left too high, leading to memory leaks

python-ethtool/ethtool.c get_devices ob_refcnt of '*list' is 1 too high

Segfaults within error-handling paths

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

python-ethtool/ethtool.c get_devices dereferencing NULL (str->ob_refcnt) at python-ethtool/ethtool.c:140
python-ethtool/ethtool.c get_devices calling PyList_Append with NULL as argument 1 (list) at python-ethtool/ethtool.c:139
python-ethtool/ethtool.c get_interfaces_info calling PyTuple_SetItem with NULL as argument 1 (args) at python-ethtool/ethtool.c:326

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
python-ethtool/ethtool.c set_tso returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c set_ringparam returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c get_gso returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c get_ufo returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c get_coalesce returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c get_sg returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c get_ringparam returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c set_coalesce returning (PyObject*)NULL without setting an exception
python-ethtool/ethtool.c get_tso returning (PyObject*)NULL without setting an exception