mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00
Issue #15900: Fixed reference leak in PyUnicode_TranslateCharmap()
This commit is contained in:
parent
e4eee73293
commit
5f520f4fed
2 changed files with 7 additions and 6 deletions
|
@ -10,6 +10,8 @@ What's New in Python 3.3.1
|
||||||
Core and Builtins
|
Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Issue #15900: Fixed reference leak in PyUnicode_TranslateCharmap().
|
||||||
|
|
||||||
- Issue #15839: Convert SystemErrors in super() to RuntimeErrors.
|
- Issue #15839: Convert SystemErrors in super() to RuntimeErrors.
|
||||||
|
|
||||||
- Issue #15846: Fix SystemError which happened when using ast.parse in an
|
- Issue #15846: Fix SystemError which happened when using ast.parse in an
|
||||||
|
|
|
@ -8585,10 +8585,13 @@ PyUnicode_TranslateCharmap(const Py_UNICODE *p,
|
||||||
PyObject *mapping,
|
PyObject *mapping,
|
||||||
const char *errors)
|
const char *errors)
|
||||||
{
|
{
|
||||||
|
PyObject *result;
|
||||||
PyObject *unicode = PyUnicode_FromUnicode(p, size);
|
PyObject *unicode = PyUnicode_FromUnicode(p, size);
|
||||||
if (!unicode)
|
if (!unicode)
|
||||||
return NULL;
|
return NULL;
|
||||||
return _PyUnicode_TranslateCharmap(unicode, mapping, errors);
|
result = _PyUnicode_TranslateCharmap(unicode, mapping, errors);
|
||||||
|
Py_DECREF(unicode);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject *
|
PyObject *
|
||||||
|
@ -8600,14 +8603,10 @@ PyUnicode_Translate(PyObject *str,
|
||||||
|
|
||||||
str = PyUnicode_FromObject(str);
|
str = PyUnicode_FromObject(str);
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
goto onError;
|
return NULL;
|
||||||
result = _PyUnicode_TranslateCharmap(str, mapping, errors);
|
result = _PyUnicode_TranslateCharmap(str, mapping, errors);
|
||||||
Py_DECREF(str);
|
Py_DECREF(str);
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
onError:
|
|
||||||
Py_XDECREF(str);
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static Py_UCS4
|
static Py_UCS4
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue