summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Zle/zle_utils.c11
2 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 2cbeedf88..728de3ca9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-01-26 Peter Stephenson <pws@csr.com>
+
+ * 20750: Src/zle_utils.c: 20742 could cause hang when line
+ resized to empty.
+
2005-01-25 Peter Stephenson <pws@csr.com>
* 20742: Src/system.h, Src/Zle/zle.h, Src/Zle/zle_main.c,
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);
+ }
}
/*