summaryrefslogtreecommitdiffstats
path: root/sbin/savecore
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2014-10-02 18:11:13 +0000
committerbdrewery <bdrewery@FreeBSD.org>2014-10-02 18:11:13 +0000
commitbcf511dc04a33e2174274d76ba703cb1d9a2d93e (patch)
tree760ef2b540acb9cf25b25331b7efa9c8ba57fbfe /sbin/savecore
parent590a70f74591a8d00f847dccbc69b8a01179b315 (diff)
downloadFreeBSD-src-bcf511dc04a33e2174274d76ba703cb1d9a2d93e.zip
FreeBSD-src-bcf511dc04a33e2174274d76ba703cb1d9a2d93e.tar.gz
MFC r271720:
If fgets(3) fails in getbounds(), show strerror(3) if not an EOF. Also fix a FILE* leak in getbounds(). PR: 192032 Approved by: re (gjb)
Diffstat (limited to 'sbin/savecore')
-rw-r--r--sbin/savecore/savecore.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sbin/savecore/savecore.c b/sbin/savecore/savecore.c
index 0f1d41e..7a5fc4c 100644
--- a/sbin/savecore/savecore.c
+++ b/sbin/savecore/savecore.c
@@ -151,7 +151,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);
}
@@ -160,6 +163,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);
}
OpenPOWER on IntegriCloud