From f5ed24f47ef4d2292c327d78440f4aa9d0f04f98 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 29 Apr 2008 08:43:38 +0000 Subject: 24893: duplicate statusline to avoid crashes when constant --- Src/Zle/zle_refresh.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Src') diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c index cc0dbe4c0..798541646 100644 --- a/Src/Zle/zle_refresh.c +++ b/Src/Zle/zle_refresh.c @@ -1418,8 +1418,9 @@ zrefresh(void) if (statusline) { int outll, outsz; + char *statusdup = ztrdup(statusline); ZLE_STRING_T outputline = - stringaszleline(statusline, 0, &outll, &outsz, NULL); + stringaszleline(statusdup, 0, &outll, &outsz, NULL); rpms.tosln = rpms.ln + 1; nbuf[rpms.ln][winw + 1] = zr_zr; /* text not wrapped */ @@ -1484,6 +1485,7 @@ zrefresh(void) snextline(&rpms); } zfree(outputline, outsz); + free(statusdup); } *rpms.s = zr_zr; -- cgit 1.4.1