python2/python-2.6.5-remove-PyUnicodeDecodeError_Create-assertions-issue9058.patch
dmalcolm 468e2badf2 - Stop python bailing out with an assertion failure when
UnicodeDecodeErrors occur on very large buffers (patch 120, upstream
    issue 9058)
2010-06-22 18:40:57 +00:00

26 lines
806 B
Diff

Index: Objects/exceptions.c
===================================================================
--- Objects/exceptions.c (revision 82153)
+++ Objects/exceptions.c (working copy)
@@ -1784,11 +1784,15 @@
const char *encoding, const char *object, Py_ssize_t length,
Py_ssize_t start, Py_ssize_t end, const char *reason)
{
- assert(length < INT_MAX);
- assert(start < INT_MAX);
- assert(end < INT_MAX);
- return PyObject_CallFunction(PyExc_UnicodeDecodeError, "ss#nns",
- encoding, object, length, start, end, reason);
+ PyObject *str;
+
+ str = PyString_FromStringAndSize(object, length);
+
+ if (!str)
+ return NULL;
+
+ return PyObject_CallFunction(PyExc_UnicodeDecodeError, "sNnns",
+ encoding, str, start, end, reason);
}