]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #28715: Added error checks for PyUnicode_AsUTF8().
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 20 Nov 2016 06:48:07 +0000 (08:48 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Sun, 20 Nov 2016 06:48:07 +0000 (08:48 +0200)
1  2 
Modules/_ctypes/_ctypes.c
Modules/_ctypes/callproc.c
Modules/ossaudiodev.c
Python/ast.c
Python/importdl.c

Simple merge
Simple merge
Simple merge
diff --cc Python/ast.c
index 33b7df64ec0c68e3d30d658ccb24c01cd662bd6e,d36a9b78a033667c2334a0d5375761156d62247d..82f4529bf91ec5181bf943577024d3e811f4c39f
@@@ -2121,14 -2028,14 +2122,15 @@@ ast_for_atom(struct compiling *c, cons
                  PyObject *type, *value, *tback, *errstr;
                  PyErr_Fetch(&type, &value, &tback);
                  errstr = PyObject_Str(value);
-                 if (errstr) {
-                     char *s = _PyUnicode_AsString(errstr);
+                 if (errstr)
+                     s = PyUnicode_AsUTF8(errstr);
+                 if (s) {
                      PyOS_snprintf(buf, sizeof(buf), "(%s) %s", errtype, s);
-                     Py_DECREF(errstr);
                  } else {
 +                    PyErr_Clear();
                      PyOS_snprintf(buf, sizeof(buf), "(%s) unknown error", errtype);
                  }
+                 Py_XDECREF(errstr);
                  ast_error(c, n, buf);
                  Py_DECREF(type);
                  Py_XDECREF(value);
Simple merge