summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2000-04-10 12:46:51 (GMT)
committerGuido van Rossum <guido@python.org>2000-04-10 12:46:51 (GMT)
commit5db862dd0cae0077b09a765220bb358e0e129449 (patch)
tree997e545b6dab223b7828d96ac9c39f26e5fe4d14 /Objects
parentfa972c987c394507ca6fb76de5ef0b47e9301226 (diff)
downloadcpython-5db862dd0cae0077b09a765220bb358e0e129449.zip
cpython-5db862dd0cae0077b09a765220bb358e0e129449.tar.gz
cpython-5db862dd0cae0077b09a765220bb358e0e129449.tar.bz2
Skip Montanaro: add string precisions to calls to PyErr_Format
to prevent possible buffer overruns.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/object.c4
-rw-r--r--Objects/unicodeobject.c44
2 files changed, 24 insertions, 24 deletions
diff --git a/Objects/object.c b/Objects/object.c
index ab10e3e..265ab9b 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -236,7 +236,7 @@ PyObject_Repr(v)
return NULL;
if (!PyString_Check(res)) {
PyErr_Format(PyExc_TypeError,
- "__repr__ returned non-string (type %s)",
+ "__repr__ returned non-string (type %.200s)",
res->ob_type->tp_name);
Py_DECREF(res);
return NULL;
@@ -273,7 +273,7 @@ PyObject_Str(v)
return NULL;
if (!PyString_Check(res)) {
PyErr_Format(PyExc_TypeError,
- "__str__ returned non-string (type %s)",
+ "__str__ returned non-string (type %.200s)",
res->ob_type->tp_name);
Py_DECREF(res);
return NULL;
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index e4bbcff..76fb175 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -365,7 +365,7 @@ PyObject *PyUnicode_Decode(const char *s,
goto onError;
if (!PyUnicode_Check(unicode)) {
PyErr_Format(PyExc_TypeError,
- "decoder did not return an unicode object (type=%s)",
+ "decoder did not return an unicode object (type=%.400s)",
unicode->ob_type->tp_name);
Py_DECREF(unicode);
goto onError;
@@ -416,7 +416,7 @@ PyObject *PyUnicode_AsEncodedString(PyObject *unicode,
/* XXX Should we really enforce this ? */
if (!PyString_Check(v)) {
PyErr_Format(PyExc_TypeError,
- "encoder did not return a string object (type=%s)",
+ "encoder did not return a string object (type=%.400s)",
v->ob_type->tp_name);
Py_DECREF(v);
goto onError;
@@ -484,7 +484,7 @@ int utf8_decoding_error(const char **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "UTF-8 decoding error: %s",
+ "UTF-8 decoding error: %.400s",
details);
return -1;
}
@@ -500,7 +500,7 @@ int utf8_decoding_error(const char **source,
}
else {
PyErr_Format(PyExc_ValueError,
- "UTF-8 decoding error; unknown error handling code: %s",
+ "UTF-8 decoding error; unknown error handling code: %.400s",
errors);
return -1;
}
@@ -607,7 +607,7 @@ int utf8_encoding_error(const Py_UNICODE **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "UTF-8 encoding error: %s",
+ "UTF-8 encoding error: %.400s",
details);
return -1;
}
@@ -622,7 +622,7 @@ int utf8_encoding_error(const Py_UNICODE **source,
else {
PyErr_Format(PyExc_ValueError,
"UTF-8 encoding error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}
@@ -728,7 +728,7 @@ int utf16_decoding_error(const Py_UNICODE **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "UTF-16 decoding error: %s",
+ "UTF-16 decoding error: %.400s",
details);
return -1;
}
@@ -744,7 +744,7 @@ int utf16_decoding_error(const Py_UNICODE **source,
}
else {
PyErr_Format(PyExc_ValueError,
- "UTF-16 decoding error; unknown error handling code: %s",
+ "UTF-16 decoding error; unknown error handling code: %.400s",
errors);
return -1;
}
@@ -918,7 +918,7 @@ int unicodeescape_decoding_error(const char **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "Unicode-Escape decoding error: %s",
+ "Unicode-Escape decoding error: %.400s",
details);
return -1;
}
@@ -932,7 +932,7 @@ int unicodeescape_decoding_error(const char **source,
else {
PyErr_Format(PyExc_ValueError,
"Unicode-Escape decoding error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}
@@ -1296,7 +1296,7 @@ int latin1_encoding_error(const Py_UNICODE **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "Latin-1 encoding error: %s",
+ "Latin-1 encoding error: %.400s",
details);
return -1;
}
@@ -1310,7 +1310,7 @@ int latin1_encoding_error(const Py_UNICODE **source,
else {
PyErr_Format(PyExc_ValueError,
"Latin-1 encoding error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}
@@ -1366,7 +1366,7 @@ int ascii_decoding_error(const char **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "ASCII decoding error: %s",
+ "ASCII decoding error: %.400s",
details);
return -1;
}
@@ -1381,7 +1381,7 @@ int ascii_decoding_error(const char **source,
else {
PyErr_Format(PyExc_ValueError,
"ASCII decoding error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}
@@ -1429,7 +1429,7 @@ int ascii_encoding_error(const Py_UNICODE **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "ASCII encoding error: %s",
+ "ASCII encoding error: %.400s",
details);
return -1;
}
@@ -1443,7 +1443,7 @@ int ascii_encoding_error(const Py_UNICODE **source,
else {
PyErr_Format(PyExc_ValueError,
"ASCII encoding error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}
@@ -1558,7 +1558,7 @@ int charmap_decoding_error(const char **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "charmap decoding error: %s",
+ "charmap decoding error: %.400s",
details);
return -1;
}
@@ -1573,7 +1573,7 @@ int charmap_decoding_error(const char **source,
else {
PyErr_Format(PyExc_ValueError,
"charmap decoding error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}
@@ -1674,7 +1674,7 @@ int charmap_encoding_error(const Py_UNICODE **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "charmap encoding error: %s",
+ "charmap encoding error: %.400s",
details);
return -1;
}
@@ -1689,7 +1689,7 @@ int charmap_encoding_error(const Py_UNICODE **source,
else {
PyErr_Format(PyExc_ValueError,
"charmap encoding error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}
@@ -1806,7 +1806,7 @@ int translate_error(const Py_UNICODE **source,
if ((errors == NULL) ||
(strcmp(errors,"strict") == 0)) {
PyErr_Format(PyExc_UnicodeError,
- "translate error: %s",
+ "translate error: %.400s",
details);
return -1;
}
@@ -1821,7 +1821,7 @@ int translate_error(const Py_UNICODE **source,
else {
PyErr_Format(PyExc_ValueError,
"translate error; "
- "unknown error handling code: %s",
+ "unknown error handling code: %.400s",
errors);
return -1;
}