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 b5dd81b..7eafce7 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -1458,15 +1458,14 @@
     if (vtable.len != 256) {
         PyErr_SetString(PyExc_ValueError,
                         "translation table must be 256 characters long");
-        result = NULL;
-        goto done;
+        PyBuffer_Release(&vtable);
+        return NULL;
     }
 
     if (delobj != NULL) {
         if (_getbuffer(delobj, &vdel) < 0) {
-            result = NULL;
-            delobj = NULL;  /* don't try to release vdel buffer on exit */
-            goto done;
+            PyBuffer_Release(&vtable);
+	    return NULL;
         }
     }
     else {