svn commit: r319093 - stable/10/contrib/netbsd-tests/lib/libc/gen

Ngie Cooper ngie at FreeBSD.org
Mon May 29 06:22:14 UTC 2017


Author: ngie
Date: Mon May 29 06:22:12 2017
New Revision: 319093
URL: https://svnweb.freebsd.org/changeset/base/319093

Log:
  MFC r318315:
  
  lib/libc/gen/realpath_test: make check result from getcwd(3)
  
  This is being done to avoid dereferencing a NULL pointer via strlcat,
  obscuring the underlying issue with the getcwd(3) call.

Modified:
  stable/10/contrib/netbsd-tests/lib/libc/gen/t_realpath.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/contrib/netbsd-tests/lib/libc/gen/t_realpath.c
==============================================================================
--- stable/10/contrib/netbsd-tests/lib/libc/gen/t_realpath.c	Mon May 29 06:15:41 2017	(r319092)
+++ stable/10/contrib/netbsd-tests/lib/libc/gen/t_realpath.c	Mon May 29 06:22:12 2017	(r319093)
@@ -34,6 +34,9 @@ __RCSID("$NetBSD: t_realpath.c,v 1.2 201
 #include <sys/param.h>
 
 #include <atf-c.h>
+#ifdef	__FreeBSD__
+#include <errno.h>
+#endif
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -122,8 +125,15 @@ ATF_TC_BODY(realpath_symlink, tc)
 	char resb[MAXPATHLEN] = { 0 };
 	int fd;
 
+#ifdef	__FreeBSD__
+	ATF_REQUIRE_MSG(getcwd(path, sizeof(path)) != NULL,
+	    "getcwd(path) failed: %s", strerror(errno));
+	ATF_REQUIRE_MSG(getcwd(slnk, sizeof(slnk)) != NULL,
+	    "getcwd(slnk) failed: %s", strerror(errno));
+#else
 	(void)getcwd(path, sizeof(path));
 	(void)getcwd(slnk, sizeof(slnk));
+#endif
 
 	(void)strlcat(path, "/realpath", sizeof(path));
 	(void)strlcat(slnk, "/symbolic", sizeof(slnk));


More information about the svn-src-all mailing list