aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/random/randomize_fd.c
diff options
context:
space:
mode:
authorDon Lewis <truckman@FreeBSD.org>2016-06-08 02:14:05 +0000
committerDon Lewis <truckman@FreeBSD.org>2016-06-08 02:14:05 +0000
commit290dadbd560601bc99dd1b6e721d3c2a3c0d329a (patch)
tree98cd09044716aaed8bc1f826abe09203c871f9c8 /usr.bin/random/randomize_fd.c
parentb3a734483e9263c26570003a96701df3d7538048 (diff)
downloadsrc-290dadbd560601bc99dd1b6e721d3c2a3c0d329a.tar.gz
src-290dadbd560601bc99dd1b6e721d3c2a3c0d329a.zip
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
Notes
Notes: svn path=/head/; revision=301574
Diffstat (limited to 'usr.bin/random/randomize_fd.c')
-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 622bfc087519..684c84ec58e4 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--) {