From: Guido van Rossum Date: Wed, 8 Aug 2007 21:55:33 +0000 (+0000) Subject: Fix core dump in an endcase of b.strip() that I missed. X-Git-Tag: v3.0a1~487 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eb29e9ab2b037db198591a9cacb5993385c7f83d;p=python Fix core dump in an endcase of b.strip() that I missed. --- diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py index 094c56cb3c..654cb863f9 100644 --- a/Lib/test/test_bytes.py +++ b/Lib/test/test_bytes.py @@ -653,6 +653,7 @@ class BytesTest(unittest.TestCase): self.assertEqual(b.strip(b'pi'), b'mississ') self.assertEqual(b.strip(b'im'), b'ssissipp') self.assertEqual(b.strip(b'pim'), b'ssiss') + self.assertEqual(b.strip(b), b'') def test_lstrip(self): b = b'mississippi' diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c index 47ee8a4082..b409a28978 100644 --- a/Objects/bytesobject.c +++ b/Objects/bytesobject.c @@ -2502,7 +2502,10 @@ bytes_strip(PyBytesObject *self, PyObject *arg) argptr = ((PyBytesObject *)arg)->ob_bytes; argsize = Py_Size(arg); left = lstrip_helper(myptr, mysize, argptr, argsize); - right = rstrip_helper(myptr, mysize, argptr, argsize); + if (left == mysize) + right = left; + else + right = rstrip_helper(myptr, mysize, argptr, argsize); return PyBytes_FromStringAndSize(self->ob_bytes + left, right - left); }