summaryrefslogtreecommitdiff
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 8b99882436..ff6025c479 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.
+
- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception
loss in PyTraceBack_Here().
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 19549cde57..273536e447 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -3026,24 +3026,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 *