summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2016-04-20 00:49:49 +0000
committerngie <ngie@FreeBSD.org>2016-04-20 00:49:49 +0000
commitf1d4f395a6d09bdfa2d8dbbc03cc5af11a3d86c6 (patch)
treedb62a5ec9357e5452fc0f53f586a4d4d00b8951c
parentc812be13956348789ee902dfa962354ef4cfe6ba (diff)
downloadFreeBSD-src-f1d4f395a6d09bdfa2d8dbbc03cc5af11a3d86c6.zip
FreeBSD-src-f1d4f395a6d09bdfa2d8dbbc03cc5af11a3d86c6.tar.gz
Don't leak fd on sectorsize malloc failure
Also, call endfsent after calling getfsent (i.e. when not explicitly called with a swap device) for code cleanliness CID: 1354785 Differential Revision: https://reviews.freebsd.org/D6014 X-MFC with: r298076 Reported by: Coverity Reviewed by: cem Sponsored by: EMC / Isilon Storage Division
-rw-r--r--sbin/savecore/savecore.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sbin/savecore/savecore.c b/sbin/savecore/savecore.c
index 1d00ed2..fbbabe5 100644
--- a/sbin/savecore/savecore.c
+++ b/sbin/savecore/savecore.c
@@ -502,7 +502,7 @@ DoFile(const char *savedir, const char *device)
temp = malloc(sectorsize);
if (temp == NULL) {
syslog(LOG_ERR, "%m");
- return;
+ goto closefd;
}
}
if (lseek(fd, lasthd, SEEK_SET) != lasthd ||
@@ -845,6 +845,7 @@ main(int argc, char **argv)
continue;
DoFile(savedir, fsp->fs_spec);
}
+ endfsent();
} else {
for (i = 0; i < argc; i++)
DoFile(savedir, argv[i]);
OpenPOWER on IntegriCloud