[Python-checkins] python/dist/src/Objects typeobject.c,2.126.4.27,2.126.4.28

nnorwitz@users.sourceforge.net nnorwitz@users.sourceforge.net
Fri, 18 Oct 2002 09:45:41 -0700


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

Modified Files:
      Tag: release22-maint
	typeobject.c 
Log Message:
Backport:
Fix SF # 624982, Potential AV in slot_sq_item, by Greg Chapman

Don't crash when getting value of a property raises an exception


Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.126.4.27
retrieving revision 2.126.4.28
diff -C2 -d -r2.126.4.27 -r2.126.4.28
*** typeobject.c	18 Oct 2002 13:52:42 -0000	2.126.4.27
--- typeobject.c	18 Oct 2002 16:45:38 -0000	2.126.4.28
***************
*** 2919,2924 ****
  		if ((f = func->ob_type->tp_descr_get) == NULL)
  			Py_INCREF(func);
! 		else
  			func = f(func, self, (PyObject *)(self->ob_type));
  		ival = PyInt_FromLong(i);
  		if (ival != NULL) {
--- 2919,2928 ----
  		if ((f = func->ob_type->tp_descr_get) == NULL)
  			Py_INCREF(func);
! 		else {
  			func = f(func, self, (PyObject *)(self->ob_type));
+ 			if (func == NULL) {
+ 				return NULL;
+ 			}
+ 		}
  		ival = PyInt_FromLong(i);
  		if (ival != NULL) {