From 6b3fffaf990c64ecf6fc1df7e29dba17bda9d419 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 10 Apr 2003 20:29:48 +0000 Subject: PyErr_NormalizeException(): in the type==NULL test, we should simply 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 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'Python/errors.c') diff --git a/Python/errors.c b/Python/errors.c index d08c1afc12..d43501bbe7 100644 --- a/Python/errors.c +++ b/Python/errors.c @@ -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 -- cgit v1.2.1