diff Python/getargs.c @ 22801:f0277146aa16 legacy-trunk

Fix by Greg Chapman from SF bug 534347: Potential AV in vgetargskeywords. Bugfix candidate.
author Guido van Rossum <guido@python.org>
date Thu, 04 Apr 2002 16:22:30 +0000
parents 0d3bb68e3a28
children 81ca6ca5c307
line wrap: on
line diff
--- a/Python/getargs.c	Thu Apr 04 16:17:11 2002 +0000
+++ b/Python/getargs.c	Thu Apr 04 16:22:30 2002 +0000
@@ -1216,7 +1216,13 @@
 		int pos = 0;
 		while (PyDict_Next(keywords, &pos, &key, &value)) {
 			int match = 0;
-			char *ks = PyString_AsString(key);
+			char *ks;
+			if (!PyString_Check(key)) {
+				PyErr_SetString(PyExc_TypeError, 
+					        "keywords must be strings");
+				return 0;
+			}
+			ks = PyString_AsString(key);
 			for (i = 0; i < max; i++) {
 				if (!strcmp(ks, kwlist[i])) {
 					match = 1;