summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-10-25 10:13:43 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2016-10-25 10:13:43 +0300
commit839023f12cd589a25e7e9e2ee1ed64485ab45fd9 (patch)
tree12de05efcf1d1e6e07027c0f54a0a72aa7bd792e
parentbc51a8af254ddc2c5074cc3914ffc818f401923c (diff)
parent77eede35fc4409f3279af0fee91fdfb3fcc5a6ae (diff)
downloadcpython-git-839023f12cd589a25e7e9e2ee1ed64485ab45fd9.tar.gz
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 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 *