va_end() all va_copy()ed va_lists.
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 @@
 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 @@
     va_copy(lva, va);
 
     retval = vgetargskeywords(args, keywords, format, kwlist, &lva, 0);
+    va_end(lva);
     return retval;
 }
 
@@ -1430,6 +1437,7 @@
 
     retval = vgetargskeywords(args, keywords, format,
                               kwlist, &lva, FLAG_SIZE_T);
+    va_end(lva);
     return retval;
 }
 
@@ -1534,6 +1542,7 @@
     va_copy(lva, va);
 
     retval = vgetargskeywordsfast(args, keywords, parser, &lva, 0);
+    va_end(lva);
     return retval;
 }
 
@@ -1555,6 +1564,7 @@
     va_copy(lva, va);
 
     retval = vgetargskeywordsfast(args, keywords, parser, &lva, FLAG_SIZE_T);
+    va_end(lva);
     return retval;
 }