diff -r b54b4c119a33 Objects/stringobject.c --- a/Objects/stringobject.c Wed Jan 30 10:51:48 2008 +0100 +++ b/Objects/stringobject.c Wed Jan 30 12:12:06 2008 +0100 @@ -2772,7 +2772,7 @@ string_fromhex(PyObject *cls, PyObject * } buf[j++] = (top << 4) + bot; } - if (_PyString_Resize(&newstring, j) < 0) + if (j != byteslen && _PyString_Resize(&newstring, j) < 0) goto error; return newstring; @@ -2788,7 +2788,7 @@ string_getnewargs(PyStringObject *v) return Py_BuildValue("(s#)", v->ob_sval, Py_SIZE(v)); } - + static PyMethodDef string_methods[] = { {"__getnewargs__", (PyCFunction)string_getnewargs, METH_NOARGS},