]> granicus.if.org Git - python/commitdiff
PyErr_NormalizeException(): in the type==NULL test, we should simply
authorGuido van Rossum <guido@python.org>
Thu, 10 Apr 2003 20:29:48 +0000 (20:29 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 10 Apr 2003 20:29:48 +0000 (20:29 +0000)
return.  Setting an exception can mess with the exception state, and
continuing is definitely wrong (since type is dereferenced later on).
Some code that calls this seems to be prepared for a NULL exception
type, so let's be safe rather than sorry and simply assume there's
nothing to normalize in this case.

Python/errors.c

index d08c1afc123eed70858f5b55cb8b4582dcf67667..d43501bbe75b888fbff395e37b5680f371331374 100644 (file)
@@ -131,9 +131,8 @@ PyErr_NormalizeException(PyObject **exc, PyObject **val, PyObject **tb)
        PyObject *initial_tb = NULL;
 
        if (type == NULL) {
-               /* This is a bug.  Should never happen.  Don't dump core. */
-               PyErr_SetString(PyExc_SystemError,
-                       "PyErr_NormalizeException() called without exception");
+               /* There was no exception, so nothing to do. */
+               return;
        }
 
        /* If PyErr_SetNone() was used, the value will have been actually