[Python-Dev] cpython: fix some possible refleaks from PyUnicode_READY error conditions (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Mon Jan 2 16:04:58 CET 2012


On Mon, 02 Jan 2012 16:00:50 +0100 benjamin.peterson <python-checkins at python.org> wrote:

http://hg.python.org/cpython/rev/d5cda62d0f8c changeset: 74236:d5cda62d0f8c user: Benjamin Peterson <benjamin at python.org> date: Mon Jan 02 09:00:30 2012 -0600 summary: fix some possible refleaks from PyUnicodeREADY error conditions

files: Objects/unicodeobject.c | 80 ++++++++++++++++++++-------- 1 files changed, 56 insertions(+), 24 deletions(-)

diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -9132,10 +9132,15 @@ Pyssizet len1, len2; strobj = PyUnicodeFromObject(str); - if (!strobj || PyUnicodeREADY(strobj) == -1) + if (!strobj) return -1; subobj = PyUnicodeFromObject(substr); - if (!subobj || PyUnicodeREADY(subobj) == -1) { + if (!subobj) { + PyDECREF(strobj); + return -1; + } + if (PyUnicodeREADY(substr) == -1 || PyUnicodeREADY(strobj) == -1) {

Shouldn't the first one be PyUnicode_READY(sub_obj) ?



More information about the Python-Dev mailing list