From 142d4062df56aa3a6dd74b06e86700d95421b774 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 28 Sep 2018 07:08:12 +0100 Subject: [PATCH] Fix invalid free in SWIG_Python_AddErrMesg Closes #1331 --- Lib/python/pyrun.swg | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Lib/python/pyrun.swg b/Lib/python/pyrun.swg index 13738b668..53c3a32d1 100644 --- a/Lib/python/pyrun.swg +++ b/Lib/python/pyrun.swg @@ -1484,14 +1484,13 @@ SWIG_Python_AddErrMesg(const char* mesg, int infront) if (value) { PyObject *old_str = PyObject_Str(value); const char *tmp = SWIG_Python_str_AsChar(old_str); - if (!tmp) - tmp = "Invalid error message"; + const char *errmesg = tmp ? tmp : "Invalid error message"; Py_XINCREF(type); PyErr_Clear(); if (infront) { - PyErr_Format(type, "%s %s", mesg, tmp); + PyErr_Format(type, "%s %s", mesg, errmesg); } else { - PyErr_Format(type, "%s %s", tmp, mesg); + PyErr_Format(type, "%s %s", errmesg, mesg); } SWIG_Python_str_DelForPy3(tmp); Py_DECREF(old_str);