Hello community, here is the log from the commit of package bash checked in at Wed Apr 5 17:17:14 CEST 2006. -------- --- bash/bash.changes 2006-03-27 15:11:37.000000000 +0200 +++ bash/bash.changes 2006-04-03 12:45:25.000000000 +0200 @@ -1,0 +2,9 @@ +Mon Apr 3 12:40:23 CEST 2006 - werner@suse.de + +- Update bash 3.1 to patch level 16 + * Bash will dump core when attempting to perform globbing in + directories with very large numbers of files + * Solve problem with the extended globbing code prevented dots + from matching filenames when used in some matching patterns + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bash.spec ++++++ --- /var/tmp/diff_new_pack.ZL3X8r/_old 2006-04-05 17:16:40.000000000 +0200 +++ /var/tmp/diff_new_pack.ZL3X8r/_new 2006-04-05 17:16:40.000000000 +0200 @@ -16,7 +16,7 @@ Requires: readline >= 5.1 Autoreqprov: on Version: 3.1 -Release: 17 +Release: 18 %define bash_vers 3.1 %define rl_vers 5.1 Summary: The GNU Bourne-Again Shell @@ -63,7 +63,7 @@ Group: System/Libraries Provides: bash:/lib/libreadline.so.5 Version: 5.1 -Release: 17 +Release: 18 Autoreqprov: on %description -n readline @@ -83,7 +83,7 @@ Group: Development/Libraries/C and C++ Provides: bash:/usr/lib/libreadline.a Version: 5.1 -Release: 17 +Release: 18 Requires: readline = %{version}-%{release} Autoreqprov: on @@ -310,6 +310,12 @@ %doc %{_mandir}/man3/readline.3.gz %changelog -n bash +* Mon Apr 03 2006 - werner@suse.de +- Update bash 3.1 to patch level 16 + * Bash will dump core when attempting to perform globbing in + directories with very large numbers of files + * Solve problem with the extended globbing code prevented dots + from matching filenames when used in some matching patterns * Mon Mar 27 2006 - werner@suse.de - Use access(2) with temporary switched euid/ruid and egid/rgid instead of stat(2) to determine the access permissions of a ++++++ bash-3.1-patches.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/bash-3.1-patches/bash31-015 new/bash-3.1-patches/bash31-015 --- old/bash-3.1-patches/bash31-015 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-3.1-patches/bash31-015 2006-03-30 14:20:00.000000000 +0200 @@ -0,0 +1,106 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-015 + +Bug-Reported-by: Benoit Vila +Bug-Reference-ID: <43FCA614.1090108@free.fr> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00058.html + +Bug-Description: + +A problem with the extended globbing code prevented dots from matching +filenames when used in some extended matching patterns. + +Patch: + +*** ../bash-3.1-patched/lib/glob/sm_loop.c Sun Oct 16 21:21:04 2005 +--- lib/glob/sm_loop.c Mon Feb 27 17:18:43 2006 +*************** +*** 639,643 **** + CHAR *pnext; /* pointer to next sub-pattern */ + CHAR *srest; /* pointer to rest of string */ +! int m1, m2; + + #if DEBUG_MATCHING +--- 638,642 ---- + CHAR *pnext; /* pointer to next sub-pattern */ + CHAR *srest; /* pointer to rest of string */ +! int m1, m2, xflags; /* xflags = flags passed to recursive matches */ + + #if DEBUG_MATCHING +*************** +*** 645,648 **** +--- 644,648 ---- + fprintf(stderr, "extmatch: s = %s; se = %s\n", s, se); + fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe); ++ fprintf(stderr, "extmatch: flags = %d\n", flags); + #endif + +*************** +*** 678,683 **** + multiple matches of the pattern. */ + if (m1) +! m2 = (GMATCH (srest, se, prest, pe, flags) == 0) || +! (s != srest && GMATCH (srest, se, p - 1, pe, flags) == 0); + if (m1 && m2) + return (0); +--- 678,687 ---- + multiple matches of the pattern. */ + if (m1) +! { +! /* if srest > s, we are not at start of string */ +! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; +! m2 = (GMATCH (srest, se, prest, pe, xflags) == 0) || +! (s != srest && GMATCH (srest, se, p - 1, pe, xflags) == 0); +! } + if (m1 && m2) + return (0); +*************** +*** 705,710 **** + for ( ; srest <= se; srest++) + { + if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 && +! GMATCH (srest, se, prest, pe, flags) == 0) + return (0); + } +--- 709,716 ---- + for ( ; srest <= se; srest++) + { ++ /* if srest > s, we are not at start of string */ ++ xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; + if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 && +! GMATCH (srest, se, prest, pe, xflags) == 0) + return (0); + } +*************** +*** 727,731 **** + break; + } +! if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0) + return (0); + } +--- 733,739 ---- + break; + } +! /* if srest > s, we are not at start of string */ +! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags; +! if (m1 == 0 && GMATCH (srest, se, prest, pe, xflags) == 0) + return (0); + } +*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 +--- patchlevel.h Wed Dec 7 13:48:42 2005 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/bash-3.1-patches/bash31-016 new/bash-3.1-patches/bash31-016 --- old/bash-3.1-patches/bash31-016 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-3.1-patches/bash31-016 2006-03-30 14:20:00.000000000 +0200 @@ -0,0 +1,51 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.1 +Patch-ID: bash31-016 + +Bug-Reported-by: Nikita Danilov <nikita@clusterfs.com> +Bug-Reference-ID: <17397.51015.769854.541057@gargle.gargle.HOWL> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00064.html + +Bug-Description: + +Bash will dump core when attempting to perform globbing in directories with +very large numbers of files. + +Patch: + +*** ../bash-3.1-patched/lib/glob/glob.c Thu Mar 24 12:42:27 2005 +--- lib/glob/glob.c Fri Mar 3 16:54:12 2006 +*************** +*** 361,364 **** +--- 361,365 ---- + + firstmalloc = 0; ++ nalloca = 0; + + /* If PAT is empty, skip the loop, but return one (empty) filename. */ +*************** +*** 547,550 **** +--- 551,556 ---- + tmplink = lastlink; + } ++ else ++ tmplink = 0; + free (lastlink->name); + lastlink = lastlink->next; +*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005 +--- patchlevel.h Wed Dec 7 13:48:42 2005 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...
participants (1)
-
root@suse.de