Use memcpy() instead of memmove() when the buffers are known to be distinct.
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 500f823..b61d7da 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -518,7 +518,7 @@
else
p = recycle = NULL;
if (d <= 0) { /* Delete -d items; recycle ihigh-ilow items */
- memmove(p, &item[ilow], (ihigh - ilow)*sizeof(PyObject *));
+ memcpy(p, &item[ilow], (ihigh - ilow)*sizeof(PyObject *));
p += ihigh - ilow;
if (d < 0) {
memmove(&item[ihigh+d], &item[ihigh],
@@ -537,7 +537,7 @@
item = a->ob_item;
memmove(&item[ihigh+d], &item[ihigh],
(s - ihigh)*sizeof(PyObject *));
- memmove(p, &item[ilow], (ihigh - ilow)*sizeof(PyObject *));
+ memcpy(p, &item[ilow], (ihigh - ilow)*sizeof(PyObject *));
p += ihigh - ilow;
}
for (k = 0; k < n; k++, ilow++) {