diff options
-rw-r--r-- | Lib/test/test_bytes.py | 1 | ||||
-rw-r--r-- | Objects/bytesobject.c | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py index 094c56c..654cb86 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 47ee8a4..b409a28 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); } |