]> git.lizzy.rs Git - linenoise.git/commitdiff
Fixed another mem leak
authorantirez <antirez@gmail.com>
Wed, 7 Jul 2010 16:05:11 +0000 (18:05 +0200)
committerantirez <antirez@gmail.com>
Wed, 7 Jul 2010 16:05:11 +0000 (18:05 +0200)
linenoise.c

index 8f9c24a379092eb9ae126c96a4c09bb5e3ff4b2c..6a1aa6010c723972d4497c429961a588fb43d61c 100644 (file)
@@ -219,11 +219,10 @@ static int linenoisePrompt(int fd, char *buf, size_t buflen, const char *prompt)
         if (nread <= 0) return len;
         switch(c) {
         case 13:    /* enter */
-            history_len--;
-            return len;
         case 4:     /* ctrl-d */
             history_len--;
-            return (len == 0) ? -1 : (int)len;
+            free(history[history_len]);
+            return (len == 0 && c == 4) ? -1 : (int)len;
         case 3:     /* ctrl-c */
             errno = EAGAIN;
             return -1;