From 9d46a7a9a4d70756bab24de96221bd3a44ef8f46 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 30 Oct 2013 10:22:47 +0100 Subject: [PATCH] sed: fix memory leak in 'r FILE' command Signed-off-by: Denys Vlasenko --- editors/sed.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/editors/sed.c b/editors/sed.c index ef462843b..e3cce433e 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -848,7 +848,7 @@ static sed_cmd_t *branch_to(char *label) static void append(char *s) { - llist_add_to_end(&G.append_head, xstrdup(s)); + llist_add_to_end(&G.append_head, s); } static void flush_append(void) @@ -1181,7 +1181,7 @@ static void process_files(void) /* Append line to linked list to be printed later */ case 'a': - append(sed_cmd->string); + append(xstrdup(sed_cmd->string)); break; /* Insert text before this line */ @@ -1203,11 +1203,10 @@ static void process_files(void) rfile = fopen_for_read(sed_cmd->string); if (rfile) { char *line; - while ((line = xmalloc_fgetline(rfile)) != NULL) append(line); - xprint_and_close_file(rfile); + fclose(rfile); } break; -- 2.25.1