[Python-Dev] Coverity report
Neal Norwitz
nnorwitz at gmail.com
Tue Mar 14 07:55:23 CET 2006
Attached is an image from a coverity report for ctypes.
Here is the text:
3866 val = Simple_get_value(self);
3867 if (val == NULL)
3868 return NULL;
3869
3870 name = PyString_FromString(self->ob_type->tp_name);
Event var_compare_op: Added "name" due to comparison "name == 0"
Also see events: [var_deref_op]
At conditional (1): "name == 0" taking true path
3871 if (name == NULL) {
Event var_deref_op: Variable "name" tracked as NULL was dereferenced.
Also see events: [var_compare_op]
3872 Py_DECREF(name);
3873 return NULL;
3874 }
3875
3876 args = PyTuple_Pack(2, name, val);
3877 Py_DECREF(name);
3878 Py_DECREF(val);
3879 if (args == NULL)
3880 return NULL;
What is being described is that name is known to be NULL and it is
being free()d which is incorrect. As you can see from the context,
line 3872 (of Modules/_ctypes/_ctypes.c) should be Py_DECREF(val);
n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ctypes-coverity.jpg
Type: image/jpeg
Size: 40797 bytes
Desc: not available
Url : http://mail.python.org/pipermail/python-dev/attachments/20060313/77fda0ac/attachment-0001.jpg
More information about the Python-Dev
mailing list