mirror of
https://github.com/python/cpython.git
synced 2025-08-20 00:32:12 +00:00
Issue #13774: json: Fix a SystemError when a bogus encoding is passed to
json.loads().
This commit is contained in:
parent
44765e58b0
commit
dee76e627d
3 changed files with 15 additions and 1 deletions
|
|
@ -1725,8 +1725,15 @@ scanner_init(PyObject *self, PyObject *args, PyObject *kwds)
|
|||
Py_DECREF(s->encoding);
|
||||
s->encoding = tmp;
|
||||
}
|
||||
if (s->encoding == NULL || !PyString_Check(s->encoding))
|
||||
if (s->encoding == NULL)
|
||||
goto bail;
|
||||
if (!PyString_Check(s->encoding)) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"encoding must be a string, not %.80s",
|
||||
Py_TYPE(s->encoding)->tp_name);
|
||||
goto bail;
|
||||
}
|
||||
|
||||
|
||||
/* All of these will fail "gracefully" so we don't need to verify them */
|
||||
s->strict = PyObject_GetAttrString(ctx, "strict");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue