#3650: fix a reference leak in bytes.split('x')

Actually the same as r65785, but trunk only has bytearray.
This commit is contained in:
Amaury Forgeot d'Arc 2008-08-22 22:05:20 +00:00
parent b6f9806bd6
commit 20443f3043
2 changed files with 12 additions and 4 deletions

View file

@ -12,6 +12,8 @@ What's New in Python 3.0 release candidate 1
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #3650: Fixed a reference leak in bytes.split('x').
Library Library
------- -------

View file

@ -1163,8 +1163,11 @@ string_split(PyBytesObject *self, PyObject *args)
PyBuffer_Release(&vsub); PyBuffer_Release(&vsub);
return NULL; return NULL;
} }
else if (n == 1) else if (n == 1) {
return split_char(self, len, sub[0], maxsplit); list = split_char(self, len, sub[0], maxsplit);
PyBuffer_Release(&vsub);
return list;
}
list = PyList_New(PREALLOC_SIZE(maxsplit)); list = PyList_New(PREALLOC_SIZE(maxsplit));
if (list == NULL) { if (list == NULL) {
@ -1379,8 +1382,11 @@ string_rsplit(PyBytesObject *self, PyObject *args)
PyBuffer_Release(&vsub); PyBuffer_Release(&vsub);
return NULL; return NULL;
} }
else if (n == 1) else if (n == 1) {
return rsplit_char(self, len, sub[0], maxsplit); list = rsplit_char(self, len, sub[0], maxsplit);
PyBuffer_Release(&vsub);
return list;
}
list = PyList_New(PREALLOC_SIZE(maxsplit)); list = PyList_New(PREALLOC_SIZE(maxsplit));
if (list == NULL) { if (list == NULL) {