summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/hist.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e7106e13f..3fd805473 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-09-26  Barton E. Schaefer  <schaefer@zsh.org>
+
+	* 31770: Src/hist.c: memmove() instead of memcpy() for overlapping
+	regions.
+
 2013-09-25  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 31765: Src/Zle/zle_main.c: on entry to editor, if starting in
diff --git a/Src/hist.c b/Src/hist.c
index f78c97d8f..3d6068e51 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -953,7 +953,7 @@ histreduceblanks(void)
 	len = chwords[i+1] - chwords[i];
 	needblank = (i < chwordpos-2 && chwords[i+2] > chwords[i+1]);
 	if (pos != chwords[i]) {
-	    memcpy(chline + pos, chline + chwords[i], len + needblank);
+	    memmove(chline + pos, chline + chwords[i], len + needblank);
 	    chwords[i] = pos;
 	    chwords[i+1] = chwords[i] + len;
 	}