Issue #14889: PyBytes_FromObject(bytes) now just increfs and returns.
Previously, if you passed in a bytes object, it would create a whole
new object.
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index efe6ef8..14bd8e6 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -2577,6 +2577,12 @@
PyErr_BadInternalCall();
return NULL;
}
+
+ if (PyBytes_CheckExact(x)) {
+ Py_INCREF(x);
+ return x;
+ }
+
/* Use the modern buffer interface */
if (PyObject_CheckBuffer(x)) {
Py_buffer view;