Merged revisions 74167 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74167 | georg.brandl | 2009-07-22 13:57:15 +0200 (Mi, 22 Jul 2009) | 1 line
Issue #6540: Fixed crash for bytearray.translate() with invalid parameters.
........
diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c
index 165fd10..f3d5697 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -1389,15 +1389,17 @@
if (vtable.len != 256) {
PyErr_SetString(PyExc_ValueError,
"translation table must be 256 characters long");
- goto done;
+ PyBuffer_Release(&vtable);
+ return NULL;
}
table = (const char*)vtable.buf;
}
if (delobj != NULL) {
if (_getbuffer(delobj, &vdel) < 0) {
- delobj = NULL; /* don't try to release vdel buffer on exit */
- goto done;
+ if (tableobj != NULL)
+ PyBuffer_Release(&vtable);
+ return NULL;
}
}
else {