diff options
author | Christian Heimes <christian@python.org> | 2016-09-21 09:37:27 (GMT) |
---|---|---|
committer | Christian Heimes <christian@python.org> | 2016-09-21 09:37:27 (GMT) |
commit | 2f2fee19ec63a09b184fbe09135ecb2f16a0e257 (patch) | |
tree | 7d29ab47d5691028799f81ae63215313064a8ea7 /Python/getargs.c | |
parent | 1c56bf0bad6453e6c244ec345ad0eb4d4d1ae15c (diff) | |
download | cpython-2f2fee19ec63a09b184fbe09135ecb2f16a0e257.zip cpython-2f2fee19ec63a09b184fbe09135ecb2f16a0e257.tar.gz cpython-2f2fee19ec63a09b184fbe09135ecb2f16a0e257.tar.bz2 |
va_end() all va_copy()ed va_lists.
Diffstat (limited to 'Python/getargs.c')
-rw-r--r-- | Python/getargs.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Python/getargs.c b/Python/getargs.c index cd80eda..43656eb 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -141,20 +141,26 @@ int PyArg_VaParse(PyObject *args, const char *format, va_list va) { va_list lva; + int retval; va_copy(lva, va); - return vgetargs1(args, format, &lva, 0); + retval = vgetargs1(args, format, &lva, 0); + va_end(lva); + return retval; } int _PyArg_VaParse_SizeT(PyObject *args, const char *format, va_list va) { va_list lva; + int retval; va_copy(lva, va); - return vgetargs1(args, format, &lva, FLAG_SIZE_T); + retval = vgetargs1(args, format, &lva, FLAG_SIZE_T); + va_end(lva); + return retval; } @@ -1405,6 +1411,7 @@ PyArg_VaParseTupleAndKeywords(PyObject *args, va_copy(lva, va); retval = vgetargskeywords(args, keywords, format, kwlist, &lva, 0); + va_end(lva); return retval; } @@ -1430,6 +1437,7 @@ _PyArg_VaParseTupleAndKeywords_SizeT(PyObject *args, retval = vgetargskeywords(args, keywords, format, kwlist, &lva, FLAG_SIZE_T); + va_end(lva); return retval; } @@ -1534,6 +1542,7 @@ _PyArg_VaParseTupleAndKeywordsFast(PyObject *args, PyObject *keywords, va_copy(lva, va); retval = vgetargskeywordsfast(args, keywords, parser, &lva, 0); + va_end(lva); return retval; } @@ -1555,6 +1564,7 @@ _PyArg_VaParseTupleAndKeywordsFast_SizeT(PyObject *args, PyObject *keywords, va_copy(lva, va); retval = vgetargskeywordsfast(args, keywords, parser, &lva, FLAG_SIZE_T); + va_end(lva); return retval; } |