about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Src/prompt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Src/prompt.c b/Src/prompt.c
index 1488cb787..66fd7b136 100644
--- a/Src/prompt.c
+++ b/Src/prompt.c
@@ -768,9 +768,12 @@ prompttrunc(int arg, int truncchar, int doprint, int endchar)
 	truncstr = ztrduppfx(ptr, bp - ptr);
 
 	bp = ptr;
+	w = bp - buf;
 	fm++;
 	putpromptchar(doprint, endchar);
+	ptr = buf + w;		/* putpromptchar() may have realloc()'d */
 	*bp = '\0';
+
 	countprompt(ptr, &w, 0, -1);
 	if (w > trunclen) {
 	    /*