[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox-cvs
Subject: [git commit] sed: fix memory leak in 'r FILE' command
From: Denys Vlasenko <vda.linux () googlemail ! com>
Date: 2013-10-30 9:22:47
Message-ID: 20131030092332.52DDB9BC3D () busybox ! osuosl ! org
[Download RAW message or body]
commit: http://git.busybox.net/busybox/commit/?id=9d46a7a9a4d70756bab24de96221bd3a44ef8f46
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
editors/sed.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/editors/sed.c b/editors/sed.c
index ef46284..e3cce43 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;
_______________________________________________
busybox-cvs mailing list
busybox-cvs@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic