Don't return the same object from trivial replace() cases --
it is guaranteed to return a new bytearray.
diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c
index 744e6a9..1442c72 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -1459,10 +1459,7 @@
Py_LOCAL(PyByteArrayObject *)
return_self(PyByteArrayObject *self)
{
- if (PyByteArray_CheckExact(self)) {
- Py_INCREF(self);
- return (PyByteArrayObject *)self;
- }
+ /* always return a new bytearray */
return (PyByteArrayObject *)PyByteArray_FromStringAndSize(
PyByteArray_AS_STRING(self),
PyByteArray_GET_SIZE(self));