Use memmove instead of memcpy on overlapping regions

* src/editfns.c (Ftranspose_regions): Regions may overlap, so
use memmove instead of memcpy (bug#19213).

Copyright-paperwork-exempt: yes
This commit is contained in:
Fredrik Bergroth 2016-02-23 22:41:16 +11:00 committed by Lars Ingebrigtsen
parent c7b8194c04
commit 354f9f0fc6

View file

@ -4990,7 +4990,7 @@ Transposing beyond buffer boundaries is an error. */)
start2_addr = BYTE_POS_ADDR (start2_byte);
memcpy (temp, start1_addr, len1_byte);
memcpy (start1_addr, start2_addr, len2_byte);
memcpy (start1_addr + len2_byte, start1_addr + len1_byte, len_mid);
memmove (start1_addr + len2_byte, start1_addr + len1_byte, len_mid);
memcpy (start1_addr + len2_byte + len_mid, temp, len1_byte);
SAFE_FREE ();