]> granicus.if.org Git - python/commitdiff
Issue #3369: fix memory leak in floatobject.c. Thanks Kristján Jónsson
authorMark Dickinson <dickinsm@gmail.com>
Mon, 21 Jul 2008 22:49:36 +0000 (22:49 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Mon, 21 Jul 2008 22:49:36 +0000 (22:49 +0000)
for the report and fix.

Objects/floatobject.c

index daf7ee807ee91f564495b11d7b5a66f5ddeffe84..efad21250c8dfb2f2750ed0e84d71fa3a5d2c3cc 100644 (file)
@@ -223,13 +223,19 @@ PyFloat_FromString(PyObject *v)
                        p++;
                }
                if (PyOS_strnicmp(p, "inf", 4) == 0) {
+                       if (s_buffer != NULL)
+                               PyMem_FREE(s_buffer);
                        Py_RETURN_INF(sign);
                }
                if (PyOS_strnicmp(p, "infinity", 9) == 0) {
+                       if (s_buffer != NULL)
+                               PyMem_FREE(s_buffer);
                        Py_RETURN_INF(sign);
                }
 #ifdef Py_NAN
                if(PyOS_strnicmp(p, "nan", 4) == 0) {
+                       if (s_buffer != NULL)
+                               PyMem_FREE(s_buffer);
                        Py_RETURN_NAN;
                }
 #endif