[Python-checkins] CVS: python/dist/src/Python getargs.c,2.91,2.92

Guido van Rossum gvanrossum@users.sourceforge.net
Thu, 04 Apr 2002 08:22:32 -0800


Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv3980

Modified Files:
	getargs.c 
Log Message:
Fix by Greg Chapman from SF bug 534347: Potential AV in vgetargskeywords.

Bugfix candidate.


Index: getargs.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/getargs.c,v
retrieving revision 2.91
retrieving revision 2.92
diff -C2 -d -r2.91 -r2.92
*** getargs.c	9 Jan 2002 16:21:27 -0000	2.91
--- getargs.c	4 Apr 2002 16:22:30 -0000	2.92
***************
*** 1217,1221 ****
  		while (PyDict_Next(keywords, &pos, &key, &value)) {
  			int match = 0;
! 			char *ks = PyString_AsString(key);
  			for (i = 0; i < max; i++) {
  				if (!strcmp(ks, kwlist[i])) {
--- 1217,1227 ----
  		while (PyDict_Next(keywords, &pos, &key, &value)) {
  			int match = 0;
! 			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])) {