summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2016-09-21 09:37:27 (GMT)
committerChristian Heimes <christian@python.org>2016-09-21 09:37:27 (GMT)
commit2f2fee19ec63a09b184fbe09135ecb2f16a0e257 (patch)
tree7d29ab47d5691028799f81ae63215313064a8ea7 /Objects
parent1c56bf0bad6453e6c244ec345ad0eb4d4d1ae15c (diff)
downloadcpython-2f2fee19ec63a09b184fbe09135ecb2f16a0e257.zip
cpython-2f2fee19ec63a09b184fbe09135ecb2f16a0e257.tar.gz
cpython-2f2fee19ec63a09b184fbe09135ecb2f16a0e257.tar.bz2
va_end() all va_copy()ed va_lists.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/abstract.c2
-rw-r--r--Objects/unicodeobject.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c
index c6c957b..c167125 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2702,6 +2702,7 @@ objargs_mkstack(PyObject **small_stack, Py_ssize_t small_stack_size,
else {
stack = PyMem_Malloc(n * sizeof(stack[0]));
if (stack == NULL) {
+ va_end(countva);
PyErr_NoMemory();
return NULL;
}
@@ -2710,6 +2711,7 @@ objargs_mkstack(PyObject **small_stack, Py_ssize_t small_stack_size,
for (i = 0; i < n; ++i) {
stack[i] = va_arg(va, PyObject *);
}
+ va_end(countva);
return stack;
}
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index f0a9083..7984454 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -2891,6 +2891,7 @@ PyUnicode_FromFormatV(const char *format, va_list vargs)
do
{
if ((unsigned char)*p > 127) {
+ va_end(vargs2);
PyErr_Format(PyExc_ValueError,
"PyUnicode_FromFormatV() expects an ASCII-encoded format "
"string, got a non-ASCII byte: 0x%02x",
@@ -2911,9 +2912,11 @@ PyUnicode_FromFormatV(const char *format, va_list vargs)
f = p;
}
}
+ va_end(vargs2);
return _PyUnicodeWriter_Finish(&writer);
fail:
+ va_end(vargs2);
_PyUnicodeWriter_Dealloc(&writer);
return NULL;
}