[Python-checkins] cpython: Issue #17828: va_start() must be accompanied by va_end()
christian.heimes
python-checkins at python.org
Thu Nov 14 01:39:52 CET 2013
http://hg.python.org/cpython/rev/99ba1772c469
changeset: 87089:99ba1772c469
user: Christian Heimes <christian at cheimes.de>
date: Thu Nov 14 01:39:35 2013 +0100
summary:
Issue #17828: va_start() must be accompanied by va_end()
CID 1128793: Missing varargs init or cleanup (VARARGS)
files:
Objects/exceptions.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -2632,12 +2632,6 @@
PyObject *new_exc, *new_val, *new_tb;
va_list vargs;
-#ifdef HAVE_STDARG_PROTOTYPES
- va_start(vargs, format);
-#else
- va_start(vargs);
-#endif
-
PyErr_Fetch(&exc, &val, &tb);
caught_type = (PyTypeObject *) exc;
/* Ensure type info indicates no extra state is stored at the C level */
@@ -2690,7 +2684,14 @@
* types as well, but that's quite a bit trickier due to the extra
* state potentially stored on OSError instances.
*/
+
+#ifdef HAVE_STDARG_PROTOTYPES
+ va_start(vargs, format);
+#else
+ va_start(vargs);
+#endif
msg_prefix = PyUnicode_FromFormatV(format, vargs);
+ va_end(vargs);
if (msg_prefix == NULL)
return NULL;
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list