diff options
author | bdrewery <bdrewery@FreeBSD.org> | 2014-10-02 18:11:13 +0000 |
---|---|---|
committer | bdrewery <bdrewery@FreeBSD.org> | 2014-10-02 18:11:13 +0000 |
commit | bcf511dc04a33e2174274d76ba703cb1d9a2d93e (patch) | |
tree | 760ef2b540acb9cf25b25331b7efa9c8ba57fbfe /sbin | |
parent | 590a70f74591a8d00f847dccbc69b8a01179b315 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sbin/savecore/savecore.c | 6 |
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); } |