svn commit: r301574 - head/usr.bin/random
Don Lewis
truckman at FreeBSD.org
Wed Jun 8 02:14:07 UTC 2016
Author: truckman
Date: Wed Jun 8 02:14:05 2016
New Revision: 301574
URL: https://svnweb.freebsd.org/changeset/base/301574
Log:
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
Modified:
head/usr.bin/random/randomize_fd.c
Modified: head/usr.bin/random/randomize_fd.c
==============================================================================
--- head/usr.bin/random/randomize_fd.c Wed Jun 8 02:09:14 2016 (r301573)
+++ head/usr.bin/random/randomize_fd.c Wed Jun 8 02:14:05 2016 (r301574)
@@ -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--) {
More information about the svn-src-all
mailing list