python: fix _json module arbitrary process memory read vulnerability Upstream-Status: submitted Signed-off-by: Daniel BORNAZ --- a/Modules/_json.c 2014-07-15 15:37:17.151046356 +0200 +++ b/Modules/_json.c 2014-07-15 15:38:37.335605042 +0200 @@ -1491,7 +1491,7 @@ scan_once_str(PyScannerObject *s, PyObje PyObject *res; char *str = PyString_AS_STRING(pystr); Py_ssize_t length = PyString_GET_SIZE(pystr); - if (idx >= length) { + if ( idx < 0 || idx >= length) { PyErr_SetNone(PyExc_StopIteration); return NULL; } @@ -1578,7 +1578,7 @@ scan_once_unicode(PyScannerObject *s, Py PyObject *res; Py_UNICODE *str = PyUnicode_AS_UNICODE(pystr); Py_ssize_t length = PyUnicode_GET_SIZE(pystr); - if (idx >= length) { + if ( idx < 0 || idx >= length) { PyErr_SetNone(PyExc_StopIteration); return NULL; }