summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArmin Rigo <arigo@tunes.org>2014-07-06 19:29:16 +0200
committerArmin Rigo <arigo@tunes.org>2014-07-06 19:29:16 +0200
commit22730d98d0ffd67eb9aaa79c1130b9cd97e27a51 (patch)
tree45185ec0d96acded3105ecf0a3f2a6357206e01e
parent9ea37f8c1ada93482ffe9dc64b1a4061c60e6256 (diff)
downloadcffi-22730d98d0ffd67eb9aaa79c1130b9cd97e27a51.tar.gz
Oops. Using memcpy() here can be bogus because the addresses can overlap.
-rw-r--r--c/_cffi_backend.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/c/_cffi_backend.c b/c/_cffi_backend.c
index fcbbbc2..aac6a76 100644
--- a/c/_cffi_backend.c
+++ b/c/_cffi_backend.c
@@ -1959,7 +1959,7 @@ cdata_ass_slice(CDataObject *cd, PySliceObject *slice, PyObject *v)
if ((ctv->ct_flags & CT_ARRAY) && (ctv->ct_itemdescr == ct) &&
(get_array_length((CDataObject *)v) == length)) {
/* fast path: copying from exactly the correct type */
- memcpy(cdata, ((CDataObject *)v)->c_data, itemsize * length);
+ memmove(cdata, ((CDataObject *)v)->c_data, itemsize * length);
return 0;
}
}