[ Web Proxy ]
URL:
Viewing: https://bugs.python.org/file14040/python-bug-01.patch [Back]  [Original]

--- resource.orig.c	2009-05-22 00:48:39.000000000 -0700
+++ resource.c	2009-05-22 00:52:01.000000000 -0700
@@ -157,21 +157,32 @@
 		return NULL;
 	}
 
+	Py_INCREF(curobj);
+	Py_INCREF(maxobj);
+
 #if !defined(HAVE_LARGEFILE_SUPPORT)
 	rl.rlim_cur = PyInt_AsLong(curobj);
-	if (rl.rlim_cur == -1 && PyErr_Occurred())
+	Py_DECREF(curobj);
+	if (rl.rlim_cur == -1 && PyErr_Occurred()) {
+	    Py_DECREF(maxobj);
 	    return NULL;
+	}
 	rl.rlim_max = PyInt_AsLong(maxobj);
+	Py_DECREF(maxobj);
 	if (rl.rlim_max == -1 && PyErr_Occurred())
 	    return NULL;
 #else
 	/* The limits are probably bigger than a long */
 	rl.rlim_cur = PyLong_Check(curobj) ?
 		PyLong_AsLongLong(curobj) : PyInt_AsLong(curobj);
-	if (rl.rlim_cur == -1 && PyErr_Occurred())
+	Py_DECREF(curobj);
+	if (rl.rlim_cur == -1 && PyErr_Occurred()) {
+	    Py_DECREF(maxobj);
 	    return NULL;
+	}
 	rl.rlim_max = PyLong_Check(maxobj) ?
 		PyLong_AsLongLong(maxobj) : PyInt_AsLong(maxobj);
+	Py_DECREF(maxobj);
 	if (rl.rlim_max == -1 && PyErr_Occurred())
 	    return NULL;
 #endif

Web Proxy Viewer  |  New URL  |  Original Page