Mercurial > cpython-lru_cache-weakref
diff Objects/stringlib/string_format.h @ 67791:3ef865327d7b
Issue #11302: missing type check on _string.formatter_field_name_split and _string.formatter_parser caused crash.
Originial patch by haypo, reviewed by me, okayed by Georg.
| author | Eric Smith <eric@trueblade.com> |
|---|---|
| date | Sat, 29 Jan 2011 11:15:35 +0000 |
| parents | 4c1c48b3af66 |
| children | 81d7f78a633a |
line wrap: on
line diff
--- a/Objects/stringlib/string_format.h Sat Jan 29 08:51:57 2011 +0000 +++ b/Objects/stringlib/string_format.h Sat Jan 29 11:15:35 2011 +0000 @@ -1192,6 +1192,11 @@ { formatteriterobject *it; + if (!PyUnicode_Check(self)) { + PyErr_Format(PyExc_TypeError, "expected str, got %s", Py_TYPE(self)->tp_name); + return NULL; + } + it = PyObject_New(formatteriterobject, &PyFormatterIter_Type); if (it == NULL) return NULL; @@ -1332,6 +1337,11 @@ PyObject *first_obj = NULL; PyObject *result = NULL; + if (!PyUnicode_Check(self)) { + PyErr_Format(PyExc_TypeError, "expected str, got %s", Py_TYPE(self)->tp_name); + return NULL; + } + it = PyObject_New(fieldnameiterobject, &PyFieldNameIter_Type); if (it == NULL) return NULL;
