]> git.pld-linux.org Git - packages/bash.git/blob - bash40-034
- /usr/share/bash/* are doc; rel 3
[packages/bash.git] / bash40-034
1                              BASH PATCH REPORT
2                              =================
3
4 Bash-Release:   4.0
5 Patch-ID:       bash40-034
6
7 Bug-Reported-by:        Anders Kaseorg <andersk@mit.edu>
8 Bug-Reference-ID:       <1252856832.991059.8162.nullmailer@balanced-tree.mit.edu>
9 Bug-Reference-URL:      http://lists.gnu.org/archive/html/bug-bash/2009-09/msg00043.html
10
11 Bug-Description:
12
13 When using the globstar option, bash incorrectly interprets wildcarded path
14 components between a **/ and the last / as matching any path, even if the
15 constructed path does not match any files.
16
17 Patch:
18
19 *** ../bash-4.0-patched/lib/glob/glob.c 2009-07-22 23:18:50.000000000 -0400
20 --- lib/glob/glob.c     2009-09-18 17:53:25.000000000 -0400
21 ***************
22 *** 920,928 ****
23           char **temp_results;
24   
25           /* Scan directory even on a NULL filename.  That way, `*h/'
26              returns only directories ending in `h', instead of all
27              files ending in `h' with a `/' appended. */
28           dname = directories[i];
29 !         dflags = flags & ~GX_MARKDIRS;
30           if ((flags & GX_GLOBSTAR) && filename[0] == '*' && filename[1] == '*' && filename[2] == '\0')
31             dflags |= GX_ALLDIRS|GX_ADDCURDIR;
32 --- 927,938 ----
33           char **temp_results;
34   
35 +         /* XXX -- we've recursively scanned any directories resulting from
36 +            a `**', so turn off the flag.  We turn it on again below if
37 +            filename is `**' */
38           /* Scan directory even on a NULL filename.  That way, `*h/'
39              returns only directories ending in `h', instead of all
40              files ending in `h' with a `/' appended. */
41           dname = directories[i];
42 !         dflags = flags & ~(GX_MARKDIRS|GX_ALLDIRS|GX_ADDCURDIR);
43           if ((flags & GX_GLOBSTAR) && filename[0] == '*' && filename[1] == '*' && filename[2] == '\0')
44             dflags |= GX_ALLDIRS|GX_ADDCURDIR;
45 *** ../bash-4.0/patchlevel.h    2009-01-04 14:32:40.000000000 -0500
46 --- patchlevel.h        2009-02-22 16:11:31.000000000 -0500
47 ***************
48 *** 26,30 ****
49      looks for to find the patch level (for the sccs version string). */
50   
51 ! #define PATCHLEVEL 33
52   
53   #endif /* _PATCHLEVEL_H_ */
54 --- 26,30 ----
55      looks for to find the patch level (for the sccs version string). */
56   
57 ! #define PATCHLEVEL 34
58   
59   #endif /* _PATCHLEVEL_H_ */
This page took 0.031689 seconds and 3 git commands to generate.