[Python-checkins] python/dist/src/Objects classobject.c,2.162,2.163

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
Fri, 18 Oct 2002 07:15:35 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv26067

Modified Files:
	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.162
retrieving revision 2.163
diff -C2 -d -r2.162 -r2.163
*** classobject.c	20 Aug 2002 14:31:35 -0000	2.162
--- classobject.c	18 Oct 2002 14:15:33 -0000	2.163
***************
*** 1358,1361 ****
--- 1358,1362 ----
  	args = Py_BuildValue("(O)", w);
  	if (args == NULL) {
+ 		Py_DECREF(coercefunc);
  		return NULL;
  	}
***************
*** 1554,1559 ****
  
  	args = Py_BuildValue("(O)", w);
! 	if (args == NULL)
  		return -2;
  
  	result = PyEval_CallObject(cmp_func, args);
--- 1555,1562 ----
  
  	args = Py_BuildValue("(O)", w);
! 	if (args == NULL) {
! 		Py_DECREF(cmp_func);
  		return -2;
+ 	}
  
  	result = PyEval_CallObject(cmp_func, args);