[Python-checkins] python/dist/src/Objects classobject.c,2.154.8.1,2.154.8.2

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
2002年10月18日 07:06:06 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv20726
Modified Files:
 Tag: release22-maint
	classobject.c 
Log Message:
Fix (real! :-) memory leaks in half_cmp and half_binop.
Perhaps found by NealN and valgrind. Will forward port.
Index: classobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/classobject.c,v
retrieving revision 2.154.8.1
retrieving revision 2.154.8.2
diff -C2 -d -r2.154.8.1 -r2.154.8.2
*** classobject.c	13 Jun 2002 21:36:35 -0000	2.154.8.1
--- classobject.c	18 Oct 2002 14:06:02 -0000	2.154.8.2
***************
*** 1316,1319 ****
--- 1316,1320 ----
 	args = Py_BuildValue("(O)", w);
 	if (args == NULL) {
+ 		Py_DECREF(coercefunc);
 		return NULL;
 	}
***************
*** 1508,1513 ****
 
 	args = Py_BuildValue("(O)", w);
! 	if (args == NULL)
 		return -2;
 
 	result = PyEval_CallObject(cmp_func, args);
--- 1509,1516 ----
 
 	args = Py_BuildValue("(O)", w);
! 	if (args == NULL) {
! 		Py_DECREF(cmp_func);
 		return -2;
+ 	}
 
 	result = PyEval_CallObject(cmp_func, args);

AltStyle によって変換されたページ (->オリジナル) /