va_end() all va_copy()ed va_lists.

This commit is contained in:
Christian Heimes 2016-09-21 11:37:27 +02:00
parent 1c56bf0bad
commit 2f2fee19ec
4 changed files with 26 additions and 7 deletions

View file

@ -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;
}