A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-checkins/2009-July/085266.html below:

[Python-checkins] r74169 - in python/branches/py3k: Lib/test/test_builtin.py Misc/NEWS Objects/bytearrayobject.c

[Python-checkins] r74169 - in python/branches/py3k: Lib/test/test_builtin.py Misc/NEWS Objects/bytearrayobject.cgeorg.brandl python-checkins at python.org
Wed Jul 22 14:04:00 CEST 2009
Author: georg.brandl
Date: Wed Jul 22 14:03:59 2009
New Revision: 74169

Log:
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.
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/test/test_builtin.py
   python/branches/py3k/Misc/NEWS
   python/branches/py3k/Objects/bytearrayobject.c

Modified: python/branches/py3k/Lib/test/test_builtin.py
==============================================================================
--- python/branches/py3k/Lib/test/test_builtin.py	(original)
+++ python/branches/py3k/Lib/test/test_builtin.py	Wed Jul 22 14:03:59 2009
@@ -1229,6 +1229,11 @@
         self.assertEqual(bin(-(2**65)), '-0b1' + '0' * 65)
         self.assertEqual(bin(-(2**65-1)), '-0b' + '1' * 65)
 
+    def test_bytearray_translate(self):
+        x = bytearray(b"abc")
+        self.assertRaises(ValueError, x.translate, b"1", 1)
+        self.assertRaises(TypeError, x.translate, b"1"*256, 1)
+
 class TestSorted(unittest.TestCase):
 
     def test_basic(self):

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Wed Jul 22 14:03:59 2009
@@ -12,6 +12,8 @@
 Core and Builtins
 -----------------
 
+- Issue #6540: Fixed crash for bytearray.translate() with invalid parameters.
+
 - Issue #6070: On posix platforms import no longer copies the execute bit
   from the .py file to the .pyc file if it is set.
 

Modified: python/branches/py3k/Objects/bytearrayobject.c
==============================================================================
--- python/branches/py3k/Objects/bytearrayobject.c	(original)
+++ python/branches/py3k/Objects/bytearrayobject.c	Wed Jul 22 14:03:59 2009
@@ -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 {
More information about the Python-checkins mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4