svn commit: r311236 - head/contrib/netbsd-tests/lib/libc/sys

Ngie Cooper ngie at FreeBSD.org
Wed Jan 4 03:35:24 UTC 2017


Author: ngie
Date: Wed Jan  4 03:35:23 2017
New Revision: 311236
URL: https://svnweb.freebsd.org/changeset/base/311236

Log:
  unlink_fifo: don't leak the file descriptors opened with mkfifo and open
  
  MFC fater:	3 days
  Reported by:	Coverity
  CID:		978316, 978317

Modified:
  head/contrib/netbsd-tests/lib/libc/sys/t_unlink.c

Modified: head/contrib/netbsd-tests/lib/libc/sys/t_unlink.c
==============================================================================
--- head/contrib/netbsd-tests/lib/libc/sys/t_unlink.c	Wed Jan  4 02:52:39 2017	(r311235)
+++ head/contrib/netbsd-tests/lib/libc/sys/t_unlink.c	Wed Jan  4 03:35:23 2017	(r311236)
@@ -63,7 +63,12 @@ ATF_TC_BODY(unlink_basic, tc)
 		ATF_REQUIRE(unlink(path) == 0);
 
 		errno = 0;
+#ifdef	__FreeBSD__
+		ATF_REQUIRE_ERRNO(ENOENT, (fd = open(path, O_RDONLY)) == -1);
+		(void)close(fd);
+#else
 		ATF_REQUIRE_ERRNO(ENOENT, open(path, O_RDONLY) == -1);
+#endif
 	}
 }
 
@@ -111,12 +116,24 @@ ATF_TC_HEAD(unlink_fifo, tc)
 
 ATF_TC_BODY(unlink_fifo, tc)
 {
+#ifdef	__FreeBSD__
+	int fd;
 
+	ATF_REQUIRE_MSG((fd = mkfifo(path, 0666)) == 0,
+	    "mkfifo failed: %s", strerror(errno));
+	(void)close(fd);
+#else
 	ATF_REQUIRE(mkfifo(path, 0666) == 0);
+#endif
 	ATF_REQUIRE(unlink(path) == 0);
 
 	errno = 0;
+#ifdef	__FreeBSD__
+	ATF_REQUIRE_ERRNO(ENOENT, (fd = open(path, O_RDONLY)) == -1);
+	(void)close(fd);
+#else
 	ATF_REQUIRE_ERRNO(ENOENT, open(path, O_RDONLY) == -1);
+#endif
 }
 
 ATF_TC_CLEANUP(unlink_fifo, tc)


More information about the svn-src-all mailing list