summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_bytes.py1
-rw-r--r--Objects/bytesobject.c5
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);
}