From: sin Date: Wed, 22 Oct 2014 16:57:59 +0000 (+0100) Subject: realloc() behaves like free() if size is 0 X-Git-Tag: v1.0~92^2~148 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=8d018e620f159d63c1617a87844d11e51f7a3a23;p=nnn.git realloc() behaves like free() if size is 0 --- diff --git a/noice.c b/noice.c index e4f86a03..638211d8 100644 --- a/noice.c +++ b/noice.c @@ -366,9 +366,9 @@ readln(void) if (c == KEY_BACKSPACE) { getyx(stdscr, y, x); if (x >= x0) { + i--; if (i > 0) { - ln = xrealloc(ln, (i - 1) * sizeof(*ln)); - i--; + ln = xrealloc(ln, i * sizeof(*ln)); } else { free(ln); ln = NULL;