diff options
| author | Serhiy Storchaka <storchaka@gmail.com> | 2016-10-25 07:13:43 (GMT) |
|---|---|---|
| committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-10-25 07:13:43 (GMT) |
| commit | 839023f12cd589a25e7e9e2ee1ed64485ab45fd9 (patch) | |
| tree | 12de05efcf1d1e6e07027c0f54a0a72aa7bd792e | |
| parent | bc51a8af254ddc2c5074cc3914ffc818f401923c (diff) | |
| parent | 77eede35fc4409f3279af0fee91fdfb3fcc5a6ae (diff) | |
| download | cpython-839023f12cd589a25e7e9e2ee1ed64485ab45fd9.zip cpython-839023f12cd589a25e7e9e2ee1ed64485ab45fd9.tar.gz cpython-839023f12cd589a25e7e9e2ee1ed64485ab45fd9.tar.bz2 | |
Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.
| -rw-r--r-- | Misc/NEWS | 3 | ||||
| -rw-r--r-- | Objects/unicodeobject.c | 12 |
2 files changed, 5 insertions, 10 deletions
@@ -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 19549cd..273536e 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 * |
