[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;