[Python-checkins] CVS: python/dist/src/Objects object.c,2.65,2.66 unicodeobject.c,2.8,2.9

Guido van Rossum python-dev@python.org
2000年4月10日 08:46:53 -0400 (EDT)


Update of /projects/cvsroot/python/dist/src/Objects
In directory eric:/projects/python/develop/guido/src/Objects
Modified Files:
	object.c unicodeobject.c 
Log Message:
Skip Montanaro: add string precisions to calls to PyErr_Format
to prevent possible buffer overruns.
Index: object.c
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Objects/object.c,v
retrieving revision 2.65
retrieving revision 2.66
diff -C2 -r2.65 -r2.66
*** object.c	2000年03月25日 18:39:19	2.65
--- object.c	2000年04月10日 12:46:50	2.66
***************
*** 237,241 ****
 		if (!PyString_Check(res)) {
 			PyErr_Format(PyExc_TypeError,
! 				 "__repr__ returned non-string (type %s)",
 				 res->ob_type->tp_name);
 			Py_DECREF(res);
--- 237,241 ----
 		if (!PyString_Check(res)) {
 			PyErr_Format(PyExc_TypeError,
! 				 "__repr__ returned non-string (type %.200s)",
 				 res->ob_type->tp_name);
 			Py_DECREF(res);
***************
*** 274,278 ****
 	if (!PyString_Check(res)) {
 		PyErr_Format(PyExc_TypeError,
! 			 "__str__ returned non-string (type %s)",
 			 res->ob_type->tp_name);
 		Py_DECREF(res);
--- 274,278 ----
 	if (!PyString_Check(res)) {
 		PyErr_Format(PyExc_TypeError,
! 			 "__str__ returned non-string (type %.200s)",
 			 res->ob_type->tp_name);
 		Py_DECREF(res);
Index: unicodeobject.c
===================================================================
RCS file: /projects/cvsroot/python/dist/src/Objects/unicodeobject.c,v
retrieving revision 2.8
retrieving revision 2.9
diff -C2 -r2.8 -r2.9
*** unicodeobject.c	2000年04月06日 18:18:10	2.8
--- unicodeobject.c	2000年04月10日 12:46:51	2.9
***************
*** 366,370 ****
 if (!PyUnicode_Check(unicode)) {
 PyErr_Format(PyExc_TypeError,
! "decoder did not return an unicode object (type=%s)",
 unicode->ob_type->tp_name);
 Py_DECREF(unicode);
--- 366,370 ----
 if (!PyUnicode_Check(unicode)) {
 PyErr_Format(PyExc_TypeError,
! "decoder did not return an unicode object (type=%.400s)",
 unicode->ob_type->tp_name);
 Py_DECREF(unicode);
***************
*** 417,421 ****
 if (!PyString_Check(v)) {
 PyErr_Format(PyExc_TypeError,
! "encoder did not return a string object (type=%s)",
 v->ob_type->tp_name);
 Py_DECREF(v);
--- 417,421 ----
 if (!PyString_Check(v)) {
 PyErr_Format(PyExc_TypeError,
! "encoder did not return a string object (type=%.400s)",
 v->ob_type->tp_name);
 Py_DECREF(v);
***************
*** 485,489 ****
 (strcmp(errors,"strict") == 0)) {
 PyErr_Format(PyExc_UnicodeError,
! "UTF-8 decoding error: %s",
 details);
 return -1;
--- 485,489 ----
 (strcmp(errors,"strict") == 0)) {
 PyErr_Format(PyExc_UnicodeError,
! "UTF-8 decoding error: %.400s",
 details);
 return -1;
***************
*** 501,505 ****
 else {
 PyErr_Format(PyExc_ValueError,
! "UTF-8 decoding error; unknown error handling code: %s",
 errors);
 return -1;
--- 501,505 ----
 else {
 PyErr_Format(PyExc_ValueError,
! "UTF-8 decoding error; unknown error handling code: %.400s",
 errors);
 return -1;
***************
*** 608,612 ****
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "UTF-8 encoding error: %s",
 		 details);
 	return -1;
--- 608,612 ----
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "UTF-8 encoding error: %.400s",
 		 details);
 	return -1;
***************
*** 623,627 ****
 	PyErr_Format(PyExc_ValueError,
 		 "UTF-8 encoding error; "
! 		 "unknown error handling code: %s",
 		 errors);
 	return -1;
--- 623,627 ----
 	PyErr_Format(PyExc_ValueError,
 		 "UTF-8 encoding error; "
! 		 "unknown error handling code: %.400s",
 		 errors);
 	return -1;
***************
*** 729,733 ****
 (strcmp(errors,"strict") == 0)) {
 PyErr_Format(PyExc_UnicodeError,
! "UTF-16 decoding error: %s",
 details);
 return -1;
--- 729,733 ----
 (strcmp(errors,"strict") == 0)) {
 PyErr_Format(PyExc_UnicodeError,
! "UTF-16 decoding error: %.400s",
 details);
 return -1;
***************
*** 745,749 ****
 else {
 PyErr_Format(PyExc_ValueError,
! "UTF-16 decoding error; unknown error handling code: %s",
 errors);
 return -1;
--- 745,749 ----
 else {
 PyErr_Format(PyExc_ValueError,
! "UTF-16 decoding error; unknown error handling code: %.400s",
 errors);
 return -1;
***************
*** 919,923 ****
 (strcmp(errors,"strict") == 0)) {
 PyErr_Format(PyExc_UnicodeError,
! "Unicode-Escape decoding error: %s",
 details);
 return -1;
--- 919,923 ----
 (strcmp(errors,"strict") == 0)) {
 PyErr_Format(PyExc_UnicodeError,
! "Unicode-Escape decoding error: %.400s",
 details);
 return -1;
***************
*** 933,937 ****
 PyErr_Format(PyExc_ValueError,
 "Unicode-Escape decoding error; "
! "unknown error handling code: %s",
 errors);
 return -1;
--- 933,937 ----
 PyErr_Format(PyExc_ValueError,
 "Unicode-Escape decoding error; "
! "unknown error handling code: %.400s",
 errors);
 return -1;
***************
*** 1297,1301 ****
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "Latin-1 encoding error: %s",
 		 details);
 	return -1;
--- 1297,1301 ----
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "Latin-1 encoding error: %.400s",
 		 details);
 	return -1;
***************
*** 1311,1315 ****
 	PyErr_Format(PyExc_ValueError,
 		 "Latin-1 encoding error; "
! 		 "unknown error handling code: %s",
 		 errors);
 	return -1;
--- 1311,1315 ----
 	PyErr_Format(PyExc_ValueError,
 		 "Latin-1 encoding error; "
! 		 "unknown error handling code: %.400s",
 		 errors);
 	return -1;
***************
*** 1367,1371 ****
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "ASCII decoding error: %s",
 		 details);
 	return -1;
--- 1367,1371 ----
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "ASCII decoding error: %.400s",
 		 details);
 	return -1;
***************
*** 1382,1386 ****
 	PyErr_Format(PyExc_ValueError,
 		 "ASCII decoding error; "
! 		 "unknown error handling code: %s",
 		 errors);
 	return -1;
--- 1382,1386 ----
 	PyErr_Format(PyExc_ValueError,
 		 "ASCII decoding error; "
! 		 "unknown error handling code: %.400s",
 		 errors);
 	return -1;
***************
*** 1430,1434 ****
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "ASCII encoding error: %s",
 		 details);
 	return -1;
--- 1430,1434 ----
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "ASCII encoding error: %.400s",
 		 details);
 	return -1;
***************
*** 1444,1448 ****
 	PyErr_Format(PyExc_ValueError,
 		 "ASCII encoding error; "
! 		 "unknown error handling code: %s",
 		 errors);
 	return -1;
--- 1444,1448 ----
 	PyErr_Format(PyExc_ValueError,
 		 "ASCII encoding error; "
! 		 "unknown error handling code: %.400s",
 		 errors);
 	return -1;
***************
*** 1559,1563 ****
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "charmap decoding error: %s",
 		 details);
 	return -1;
--- 1559,1563 ----
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "charmap decoding error: %.400s",
 		 details);
 	return -1;
***************
*** 1574,1578 ****
 	PyErr_Format(PyExc_ValueError,
 		 "charmap decoding error; "
! 		 "unknown error handling code: %s",
 		 errors);
 	return -1;
--- 1574,1578 ----
 	PyErr_Format(PyExc_ValueError,
 		 "charmap decoding error; "
! 		 "unknown error handling code: %.400s",
 		 errors);
 	return -1;
***************
*** 1675,1679 ****
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "charmap encoding error: %s",
 		 details);
 	return -1;
--- 1675,1679 ----
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "charmap encoding error: %.400s",
 		 details);
 	return -1;
***************
*** 1690,1694 ****
 	PyErr_Format(PyExc_ValueError,
 		 "charmap encoding error; "
! 		 "unknown error handling code: %s",
 		 errors);
 	return -1;
--- 1690,1694 ----
 	PyErr_Format(PyExc_ValueError,
 		 "charmap encoding error; "
! 		 "unknown error handling code: %.400s",
 		 errors);
 	return -1;
***************
*** 1807,1811 ****
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "translate error: %s",
 		 details);
 	return -1;
--- 1807,1811 ----
 	(strcmp(errors,"strict") == 0)) {
 	PyErr_Format(PyExc_UnicodeError,
! 		 "translate error: %.400s",
 		 details);
 	return -1;
***************
*** 1822,1826 ****
 	PyErr_Format(PyExc_ValueError,
 		 "translate error; "
! 		 "unknown error handling code: %s",
 		 errors);
 	return -1;
--- 1822,1826 ----
 	PyErr_Format(PyExc_ValueError,
 		 "translate error; "
! 		 "unknown error handling code: %.400s",
 		 errors);
 	return -1;

AltStyle によって変換されたページ (->オリジナル) /