aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFredrik Bergroth2016-02-23 22:41:16 +1100
committerNoam Postavsky2016-07-14 20:33:48 -0400
commit916abe91fd250fc5ed27ec0be7d57421e7908111 (patch)
treeb7ca5adb623f0519187913f2f210cf4ab80522b8
parent9ba51edf62b25c678508a316ec78a09b18d3bf9e (diff)
downloademacs-916abe91fd250fc5ed27ec0be7d57421e7908111.tar.gz
emacs-916abe91fd250fc5ed27ec0be7d57421e7908111.zip
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 is a backport from trunk. (cherry picked from commit 354f9f0fc6cc05ed98883447f9b2f37943d79160)
-rw-r--r--src/editfns.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/editfns.c b/src/editfns.c
index 360ec12ba98..412745d551d 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -4997,7 +4997,7 @@ Transposing beyond buffer boundaries is an error. */)
4997 start2_addr = BYTE_POS_ADDR (start2_byte); 4997 start2_addr = BYTE_POS_ADDR (start2_byte);
4998 memcpy (temp, start1_addr, len1_byte); 4998 memcpy (temp, start1_addr, len1_byte);
4999 memcpy (start1_addr, start2_addr, len2_byte); 4999 memcpy (start1_addr, start2_addr, len2_byte);
5000 memcpy (start1_addr + len2_byte, start1_addr + len1_byte, len_mid); 5000 memmove (start1_addr + len2_byte, start1_addr + len1_byte, len_mid);
5001 memcpy (start1_addr + len2_byte + len_mid, temp, len1_byte); 5001 memcpy (start1_addr + len2_byte + len_mid, temp, len1_byte);
5002 SAFE_FREE (); 5002 SAFE_FREE ();
5003 5003