15646021 problem in UTILITY/BASH s11u2-sru
authorStefan Teleman <stefan.teleman@oracle.com>
Mon, 16 Mar 2015 07:47:48 -0700
branchs11u2-sru
changeset 3950 392e8c6d73c7
parent 3949 800060d48040
child 3972 8ac0f2a51fb0
15646021 problem in UTILITY/BASH 20662510 bash builtin test returns wrong result for executable test
components/bash/patches/solaris-022.bash.sighup.patch
components/bash/patches/solaris-023.eaccess.c.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/solaris-022.bash.sighup.patch	Mon Mar 16 07:47:48 2015 -0700
@@ -0,0 +1,22 @@
+# Internal patch. Upstream will not accept it.
+# If read EOF on a non-blank line do not interpret as a NL.
+# Clear the readline buffers and return eof_found.
+--- lib/readline/readline.c	2009-08-31 05:45:31.000000000 -0700
++++ lib/readline/readline.c	2015-02-18 11:10:55.652803033 -0800
[email protected]@ -533,7 +533,15 @@
+ 
+       /* EOF typed to a non-blank line is a <NL>. */
+       if (c == EOF && rl_end)
+-	c = NEWLINE;
++      {
++        _rl_internal_char_cleanup ();
++        eof_found = 1;
++#if defined (READLINE_CALLBACKS)
++        return 0;
++#else
++        return (eof_found);
++#endif
++      }
+ 
+       /* The character _rl_eof_char typed to blank line, and not as the
+ 	 previous character is interpreted as EOF. */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/bash/patches/solaris-023.eaccess.c.patch	Mon Mar 16 07:47:48 2015 -0700
@@ -0,0 +1,16 @@
+# 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
[email protected]@ -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