From 267296e63c1edff8561a3cb01fb9f39d92a5d447 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Tue, 30 May 2023 21:26:19 -0400 Subject: [PATCH] readline: fix memory leak in replacement readline. * lib/readline.c (readline): Free memory after getline failure. Copyright-paperwork-exempt: true --- ChangeLog | 6 ++++++ lib/readline.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index cd427e9819..474c899b23 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-05-30 Nick Bowler + + readline: fix memory leak in replacement readline. + * lib/readline.c (readline): Free memory after getline failure. + Copyright-paperwork-exempt: true + 2023-05-30 Paul Eggert error: don’t call ‘exit’ diff --git a/lib/readline.c b/lib/readline.c index 8e24090c46..c307953266 100644 --- a/lib/readline.c +++ b/lib/readline.c @@ -30,6 +30,7 @@ #include "readline.h" #include +#include #include char * @@ -45,7 +46,10 @@ readline (const char *prompt) } if (getline (&out, &size, stdin) < 0) - return NULL; + { + free (out); + return NULL; + } while (*out && (out[strlen (out) - 1] == '\r' || out[strlen (out) - 1] == '\n')) -- 2.39.5