changeset: 97072:0a1266ef1b5d branch: 2.7 parent: 97068:2d39777f3477 user: Serhiy Storchaka date: Sun Jul 26 09:07:53 2015 +0300 files: Modules/_json.c description: Issue #24683: Fixed a crash in _json.make_encoder() called with non-dict 1st argument. diff -r 2d39777f3477 -r 0a1266ef1b5d Modules/_json.c --- a/Modules/_json.c Sun Jul 26 08:49:37 2015 +0300 +++ b/Modules/_json.c Sun Jul 26 09:07:53 2015 +0300 @@ -1850,6 +1850,13 @@ if (allow_nan < 0) return -1; + if (markers != Py_None && !PyDict_Check(markers)) { + PyErr_Format(PyExc_TypeError, + "make_encoder() argument 1 must be dict or None, " + "not %.200s", Py_TYPE(markers)->tp_name); + return -1; + } + s->markers = markers; s->defaultfn = defaultfn; s->encoder = encoder;