From e0e1f0826332f137b0e7eafd0f3e6a393b732bed Mon Sep 17 00:00:00 2001 From: bdrewery Date: Thu, 2 Oct 2014 18:12:18 +0000 Subject: [PATCH] MFC r271720: If fgets(3) fails in getbounds(), show strerror(3) if not an EOF. Also fix a FILE* leak in getbounds(). PR: 192032 git-svn-id: svn://svn.freebsd.org/base/stable/9@272435 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sbin/savecore/savecore.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sbin/savecore/savecore.c b/sbin/savecore/savecore.c index 9265614d1..9143d5a24 100644 --- a/sbin/savecore/savecore.c +++ b/sbin/savecore/savecore.c @@ -149,7 +149,10 @@ getbounds(void) { } if (fgets(buf, sizeof buf, fp) == NULL) { - syslog(LOG_WARNING, "unable to read from bounds, using 0"); + if (feof(fp)) + syslog(LOG_WARNING, "bounds file is empty, using 0"); + else + syslog(LOG_WARNING, "bounds file: %s", strerror(errno)); fclose(fp); return (ret); } @@ -158,6 +161,7 @@ getbounds(void) { ret = (int)strtol(buf, NULL, 10); if (ret == 0 && (errno == EINVAL || errno == ERANGE)) syslog(LOG_WARNING, "invalid value found in bounds, using 0"); + fclose(fp); return (ret); } -- 2.45.0