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--) {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to