From: Neal Norwitz Date: Sat, 12 Aug 2006 01:47:59 +0000 (+0000) Subject: This code is actually not used unless WITHOUT_COMPLEX is defined. X-Git-Tag: v2.5c1~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=edb216807948670f716f920d3f7c6c0df3422381;p=thirdparty%2FPython%2Fcpython.git This code is actually not used unless WITHOUT_COMPLEX is defined. However, there was no error checking that PyFloat_FromDouble returned a valid pointer. I believe this change is correct as it seemed to follow other code in the area. Klocwork # 292. --- diff --git a/Python/marshal.c b/Python/marshal.c index 10a6c0c1d7ae..c3bc87f21f04 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -213,6 +213,10 @@ w_object(PyObject *v, WFILE *p) w_byte(TYPE_COMPLEX, p); temp = (PyFloatObject*)PyFloat_FromDouble( PyComplex_RealAsDouble(v)); + if (!temp) { + p->error = 1; + return; + } PyFloat_AsReprString(buf, temp); Py_DECREF(temp); n = strlen(buf); @@ -220,6 +224,10 @@ w_object(PyObject *v, WFILE *p) w_string(buf, (int)n, p); temp = (PyFloatObject*)PyFloat_FromDouble( PyComplex_ImagAsDouble(v)); + if (!temp) { + p->error = 1; + return; + } PyFloat_AsReprString(buf, temp); Py_DECREF(temp); n = strlen(buf);