mirror of
https://github.com/sheumann/hush.git
synced 2024-12-23 05:29:58 +00:00
sed: fix memory leak in 'r FILE' command
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
af0cdeedc6
commit
9d46a7a9a4
@ -848,7 +848,7 @@ static sed_cmd_t *branch_to(char *label)
|
|||||||
|
|
||||||
static void append(char *s)
|
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)
|
static void flush_append(void)
|
||||||
@ -1181,7 +1181,7 @@ static void process_files(void)
|
|||||||
|
|
||||||
/* Append line to linked list to be printed later */
|
/* Append line to linked list to be printed later */
|
||||||
case 'a':
|
case 'a':
|
||||||
append(sed_cmd->string);
|
append(xstrdup(sed_cmd->string));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Insert text before this line */
|
/* Insert text before this line */
|
||||||
@ -1203,11 +1203,10 @@ static void process_files(void)
|
|||||||
rfile = fopen_for_read(sed_cmd->string);
|
rfile = fopen_for_read(sed_cmd->string);
|
||||||
if (rfile) {
|
if (rfile) {
|
||||||
char *line;
|
char *line;
|
||||||
|
|
||||||
while ((line = xmalloc_fgetline(rfile))
|
while ((line = xmalloc_fgetline(rfile))
|
||||||
!= NULL)
|
!= NULL)
|
||||||
append(line);
|
append(line);
|
||||||
xprint_and_close_file(rfile);
|
fclose(rfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user