From f1d4f395a6d09bdfa2d8dbbc03cc5af11a3d86c6 Mon Sep 17 00:00:00 2001 From: ngie Date: Wed, 20 Apr 2016 00:49:49 +0000 Subject: 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 --- sbin/savecore/savecore.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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]); -- cgit v1.1