Issue #15900: Fixed reference leak in PyUnicode_TranslateCharmap()

This commit is contained in:
Christian Heimes 2012-09-11 14:03:25 +02:00
parent e4eee73293
commit 5f520f4fed
2 changed files with 7 additions and 6 deletions

View File

@ -10,6 +10,8 @@ What's New in Python 3.3.1
Core and Builtins
-----------------
- Issue #15900: Fixed reference leak in PyUnicode_TranslateCharmap().
- Issue #15839: Convert SystemErrors in super() to RuntimeErrors.
- Issue #15846: Fix SystemError which happened when using ast.parse in an

View File

@ -8585,10 +8585,13 @@ PyUnicode_TranslateCharmap(const Py_UNICODE *p,
PyObject *mapping,
const char *errors)
{
PyObject *result;
PyObject *unicode = PyUnicode_FromUnicode(p, size);
if (!unicode)
return NULL;
return _PyUnicode_TranslateCharmap(unicode, mapping, errors);
result = _PyUnicode_TranslateCharmap(unicode, mapping, errors);
Py_DECREF(unicode);
return result;
}
PyObject *
@ -8600,14 +8603,10 @@ PyUnicode_Translate(PyObject *str,
str = PyUnicode_FromObject(str);
if (str == NULL)
goto onError;
return NULL;
result = _PyUnicode_TranslateCharmap(str, mapping, errors);
Py_DECREF(str);
return result;
onError:
Py_XDECREF(str);
return NULL;
}
static Py_UCS4