[Python-checkins] r51444 - python/branches/release25-maint/Python/pythonrun.c

neal.norwitz python-checkins at python.org
Mon Aug 21 22:21:03 CEST 2006


Author: neal.norwitz
Date: Mon Aug 21 22:20:59 2006
New Revision: 51444

Modified:
   python/branches/release25-maint/Python/pythonrun.c
Log:
Backport 51443:
Handle a few more error conditions.

Klocwork 301 and 302.  Will backport.


Modified: python/branches/release25-maint/Python/pythonrun.c
==============================================================================
--- python/branches/release25-maint/Python/pythonrun.c	(original)
+++ python/branches/release25-maint/Python/pythonrun.c	Mon Aug 21 22:20:59 2006
@@ -531,11 +531,15 @@
 	bimod = _PyImport_FindExtension("__builtin__", "__builtin__");
 	if (bimod != NULL) {
 		interp->builtins = PyModule_GetDict(bimod);
+		if (interp->builtins == NULL)
+			goto handle_error;
 		Py_INCREF(interp->builtins);
 	}
 	sysmod = _PyImport_FindExtension("sys", "sys");
 	if (bimod != NULL && sysmod != NULL) {
 		interp->sysdict = PyModule_GetDict(sysmod);
+		if (interp->sysdict == NULL)
+			goto handle_error;
 		Py_INCREF(interp->sysdict);
 		PySys_SetPath(Py_GetPath());
 		PyDict_SetItemString(interp->sysdict, "modules",
@@ -549,6 +553,7 @@
 	if (!PyErr_Occurred())
 		return tstate;
 
+handle_error:
 	/* Oops, it didn't work.  Undo it all. */
 
 	PyErr_Print();


More information about the Python-checkins mailing list