about summary refs log tree commit diff
path: root/Src/Zle
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle')
-rw-r--r--Src/Zle/zle_utils.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/Src/Zle/zle_utils.c b/Src/Zle/zle_utils.c
index a3f3d83a4..0e8099bd2 100644
--- a/Src/Zle/zle_utils.c
+++ b/Src/Zle/zle_utils.c
@@ -67,9 +67,16 @@ void
 sizeline(int sz)
 {
     while (sz > linesz)
-	zleline = 
+    {
+	if (linesz < 256)
+	    linesz = 256;
+	else
+	    linesz *= 4;
+
+	zleline =
 	    (ZLE_STRING_T)realloc(zleline,
-				  ((linesz *= 4) + 2) * ZLE_CHAR_SIZE);
+				  (linesz + 2) * ZLE_CHAR_SIZE);
+    }
 }
 
 /*