summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-10-25 07:07:51 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-10-25 07:07:51 (GMT)
commit77eede35fc4409f3279af0fee91fdfb3fcc5a6ae (patch)
treec362437c4771a6989f9a099a711683d5aadd7d64
parent068534ab037236aa80d489383aded87c28553eb0 (diff)
downloadcpython-77eede35fc4409f3279af0fee91fdfb3fcc5a6ae.zip
cpython-77eede35fc4409f3279af0fee91fdfb3fcc5a6ae.tar.gz
cpython-77eede35fc4409f3279af0fee91fdfb3fcc5a6ae.tar.bz2
Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.
-rw-r--r--Misc/NEWS3
-rw-r--r--Objects/unicodeobject.c12
2 files changed, 5 insertions, 10 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 3c117db..513989a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ Release date: TBA
Core and Builtins
-----------------
+- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
+ build.
+
Library
-------
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 193d898..7fad695 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -3059,24 +3059,16 @@ PyUnicode_AsDecodedObject(PyObject *unicode,
const char *encoding,
const char *errors)
{
- PyObject *v;
-
if (!PyUnicode_Check(unicode)) {
PyErr_BadArgument();
- goto onError;
+ return NULL;
}
if (encoding == NULL)
encoding = PyUnicode_GetDefaultEncoding();
/* Decode via the codec registry */
- v = PyCodec_Decode(unicode, encoding, errors);
- if (v == NULL)
- goto onError;
- return unicode_result(v);
-
- onError:
- return NULL;
+ return PyCodec_Decode(unicode, encoding, errors);
}
PyObject *