components/bash/patches/solaris-023.eaccess.c.patch
author Stefan Teleman <stefan.teleman@oracle.com>
Mon, 16 Mar 2015 07:47:48 -0700
branchs11u2-sru
changeset 3950 392e8c6d73c7
child 7627 4758b76d5ad5
permissions -rw-r--r--
15646021 problem in UTILITY/BASH 20662510 bash builtin test returns wrong result for executable test

# Internal patch.
# Do not return true if euid == 0 and file does not have the execute bit set.
--- lib/sh/eaccess.c	2015-02-26 14:23:13.619717483 -0800
+++ lib/sh/eaccess.c	2015-02-26 14:29:09.644569957 -0800
@@ -208,8 +208,10 @@
   if (path_is_devfd (path))
     return (sh_stataccess (path, mode));
 
-#if defined (HAVE_EACCESS)		/* FreeBSD */
+#if defined(HAVE_EACCESS) && !defined(SOLARIS) /* FreeBSD */
   return (eaccess (path, mode));
+#elif defined(SOLARIS)
+  return (sh_stataccess (path, mode));
 #elif defined (EFF_ONLY_OK)		/* SVR4(?), SVR4.2 */
   return access (path, mode|EFF_ONLY_OK);
 #else