diff options
author | Armin Rigo <arigo@tunes.org> | 2014-07-06 19:29:16 +0200 |
---|---|---|
committer | Armin Rigo <arigo@tunes.org> | 2014-07-06 19:29:16 +0200 |
commit | 22730d98d0ffd67eb9aaa79c1130b9cd97e27a51 (patch) | |
tree | 45185ec0d96acded3105ecf0a3f2a6357206e01e | |
parent | 9ea37f8c1ada93482ffe9dc64b1a4061c60e6256 (diff) | |
download | cffi-22730d98d0ffd67eb9aaa79c1130b9cd97e27a51.tar.gz |
Oops. Using memcpy() here can be bogus because the addresses can overlap.
-rw-r--r-- | c/_cffi_backend.c | 2 |
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; } } |