[Python-checkins] python/dist/src/Objects typeobject.c,2.126.4.16,2.126.4.17

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
Tue, 18 Jun 2002 09:47:03 -0700


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

Modified Files:
      Tag: release22-maint
	typeobject.c 
Log Message:
Backport:
Patch from SF bug 570483 (Tim Northover).

In a fresh interpreter, type.mro(tuple) would segfault, because
PyType_Ready() isn't called for tuple yet.  To fix, call
PyType_Ready(type) if type->tp_dict is NULL.


Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.126.4.16
retrieving revision 2.126.4.17
diff -C2 -d -r2.126.4.16 -r2.126.4.17
*** typeobject.c	14 Jun 2002 02:28:23 -0000	2.126.4.16
--- typeobject.c	18 Jun 2002 16:46:57 -0000	2.126.4.17
***************
*** 734,737 ****
--- 734,742 ----
  	PyObject *bases, *result;
  
+ 	if(type->tp_dict == NULL) {
+ 		if(PyType_Ready(type) < 0)
+ 			return NULL;
+ 	}
+ 
  	bases = type->tp_bases;
  	n = PyTuple_GET_SIZE(bases);