References: https://bugzilla.redhat.com/show_bug.cgi?id=
1784536
Signed-off-by: Karel Zak <kzak@redhat.com>
if (fstat(fileno(f), &st) || !S_ISREG(st.st_mode))
return 1;
- if (!ie->output)
- ie->output = open_memstream(&ie->mem, &ie->mem_sz);
+ if (!ie->output) {
+ free(ie->mem);
+ ie->mem_sz = 0;
+ ie->mem = NULL;
+ ie->output = open_memstream(&ie->mem, &ie->mem_sz);
+ }
while ((c = getc(f)) != EOF) {
if (c == '\\')
if (netlink_groups != 0)
open_netlink();
#endif
- if (ie->output)
+ if (ie->output) {
fclose(ie->output);
+ ie->output = NULL;
+ }
}
/* This is --show-issue backend, executed by normal user on the current
if (ie.mem_sz)
write_all(STDOUT_FILENO, ie.mem, ie.mem_sz);
-
+ if (ie.output)
+ fclose(ie.output);
free(ie.mem);
}