summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 e5d77af..563f0c0 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ What's New in Python 3.6.0 beta 3
Core and Builtins
-----------------
+- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
+ build.
+
- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused
keeping unreachable code.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 80e6cf2..4c95111 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -3236,24 +3236,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 *