]> granicus.if.org Git - python/commitdiff
Fix by Greg Chapman from SF bug 534347: Potential AV in vgetargskeywords.
authorGuido van Rossum <guido@python.org>
Thu, 4 Apr 2002 16:22:30 +0000 (16:22 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 4 Apr 2002 16:22:30 +0000 (16:22 +0000)
Bugfix candidate.

Python/getargs.c

index 411c69543d6c3489e5fa8fd3230f772160335474..280ffc3e46c3c70ed59a1d07508f764ac8c255f1 100644 (file)
@@ -1216,7 +1216,13 @@ vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
                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;