# HG changeset patch # User Stefan Teleman # Date 1425058919 28800 # Node ID ddf9e355ac16ae2d9430bf6defc4dafb3f7b5d2e # Parent eb4c6284602f0b1c1723ab3bbe3fea483a009483 15646021 problem in UTILITY/BASH 20597159 bash builtin test returns wrong result for executable test diff -r eb4c6284602f -r ddf9e355ac16 components/bash/patches/solaris-022.bash.sighup.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/bash/patches/solaris-022.bash.sighup.patch Fri Feb 27 09:41:59 2015 -0800 @@ -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 +@@ -533,7 +533,15 @@ + + /* EOF typed to a non-blank line is a . */ + 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. */ diff -r eb4c6284602f -r ddf9e355ac16 components/bash/patches/solaris-023.eaccess.c.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/bash/patches/solaris-023.eaccess.c.patch Fri Feb 27 09:41:59 2015 -0800 @@ -0,0 +1,18 @@ +# 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 13:35:43.607917337 -0800 ++++ lib/sh/eaccess.c 2015-02-26 13:36:29.154827001 -0800 +@@ -211,11 +211,11 @@ + if (path_is_devfd (path)) + return (sh_stataccess (path, mode)); + +-#if defined (HAVE_FACCESSAT) && defined (AT_EACCESS) ++#if defined(HAVE_FACCESSAT) && defined(AT_EACCESS) && !defined(SOLARIS) + return (faccessat (AT_FDCWD, path, mode, AT_EACCESS)); + #elif defined (HAVE_EACCESS) /* FreeBSD */ + ret = eaccess (path, mode); /* XXX -- not always correct for X_OK */ +-# if defined (__FreeBSD__) ++# if defined(__FreeBSD__) || defined(SOLARIS) + if (ret == 0 && current_user.euid == 0 && mode == X_OK) + return (sh_stataccess (path, mode)); + # endif