From 6c7a52a46f862eee841bf705653cefa57b53efbc Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 28 Sep 2011 21:39:17 +0200 Subject: Check for PyUnicode_CopyCharacters() failure --- Python/compile.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'Python/compile.c') diff --git a/Python/compile.c b/Python/compile.c index 5f03792b3ec..906772289dd 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -245,8 +245,14 @@ _Py_Mangle(PyObject *privateobj, PyObject *ident) return 0; /* ident = "_" + priv[ipriv:] + ident # i.e. 1+plen+nlen bytes */ PyUnicode_WRITE(PyUnicode_KIND(result), PyUnicode_DATA(result), 0, '_'); - PyUnicode_CopyCharacters(result, 1, privateobj, ipriv, plen); - PyUnicode_CopyCharacters(result, plen+1, ident, 0, nlen); + if (PyUnicode_CopyCharacters(result, 1, privateobj, ipriv, plen) < 0) { + Py_DECREF(result); + return NULL; + } + if (PyUnicode_CopyCharacters(result, plen+1, ident, 0, nlen) < 0) { + Py_DECREF(result); + return NULL; + } return result; } -- cgit v1.2.3