summaryrefslogtreecommitdiffstats
path: root/sbin/dump
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2010-02-03 23:56:12 +0000
committerdelphij <delphij@FreeBSD.org>2010-02-03 23:56:12 +0000
commit934832db48958bd34fd0b58dfe676a5788151273 (patch)
tree86d369cb9dfcd9cbd07c95e89f2a68df295c264a /sbin/dump
parentdefb20d9cd9bcba963d74c62cbf87a6ac6f0cbb2 (diff)
downloadFreeBSD-src-934832db48958bd34fd0b58dfe676a5788151273.zip
FreeBSD-src-934832db48958bd34fd0b58dfe676a5788151273.tar.gz
Plug two memory leaks in error case.
MFC after: 1 month
Diffstat (limited to 'sbin/dump')
-rw-r--r--sbin/dump/itime.c4
-rw-r--r--sbin/dump/main.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/sbin/dump/itime.c b/sbin/dump/itime.c
index 1f1a3e5..4cac87b 100644
--- a/sbin/dump/itime.c
+++ b/sbin/dump/itime.c
@@ -106,8 +106,10 @@ readdumptimes(FILE *df)
for (;;) {
dtwalk = (struct dumptime *)calloc(1, sizeof (struct dumptime));
- if (getrecord(df, &(dtwalk->dt_value)) < 0)
+ if (getrecord(df, &(dtwalk->dt_value)) < 0) {
+ free(dtwalk);
break;
+ }
nddates++;
SLIST_INSERT_HEAD(&dthead, dtwalk, dt_list);
}
diff --git a/sbin/dump/main.c b/sbin/dump/main.c
index 7a99522..e344887 100644
--- a/sbin/dump/main.c
+++ b/sbin/dump/main.c
@@ -767,7 +767,8 @@ obsolete(int *argcp, char **argvp[])
if (flags) {
*p = '\0';
*nargv++ = flagsp;
- }
+ } else
+ free(flagsp);
/* Copy remaining arguments. */
while ((*nargv++ = *argv++));
OpenPOWER on IntegriCloud