summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authortruckman <truckman@FreeBSD.org>2016-06-08 02:14:05 +0000
committertruckman <truckman@FreeBSD.org>2016-06-08 02:14:05 +0000
commitb2dadb0e9ad395bb0a043e780c3c28bed51ae8ba (patch)
tree98cd09044716aaed8bc1f826abe09203c871f9c8 /usr.bin
parent17ff1e5b262125b4d633e4d2f266a27e83cadb49 (diff)
downloadFreeBSD-src-b2dadb0e9ad395bb0a043e780c3c28bed51ae8ba.zip
FreeBSD-src-b2dadb0e9ad395bb0a043e780c3c28bed51ae8ba.tar.gz
Fix a (false positive?) Argument cannot be negative coverity defect.
Rather than guarding close(fd) with an fd >= 0 test and setting fd to -1 when it is closed to avoid a potential double-close, just move the close() call after the conditional "goto make_token". This moves the close() call totally outside the loop to avoid the possibility of calling it twice. This should also prevent a Coverity warning about checking fd for validity after it was previously passed to read(). Reported by: Coverity CID: 1355335 MFC after: 1 week X-MFC with: r299484
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/random/randomize_fd.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/usr.bin/random/randomize_fd.c b/usr.bin/random/randomize_fd.c
index 622bfc0..684c84e 100644
--- a/usr.bin/random/randomize_fd.c
+++ b/usr.bin/random/randomize_fd.c
@@ -199,17 +199,14 @@ make_token:
}
}
- if (fd >= 0) {
- (void)close(fd);
- fd = -1;
- }
-
/* Necessary evil to compensate for files that don't end with a newline */
if (bufc != i) {
i--;
goto make_token;
}
+ (void)close(fd);
+
free(buf);
for (i = numnode; i > 0; i--) {
OpenPOWER on IntegriCloud