author | Stefan Teleman <stefan.teleman@oracle.com> |
Thu, 13 Dec 2012 15:52:21 -0800 | |
changeset 1082 | 6d49548fa9da |
permissions | -rw-r--r-- |
1082
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
BASH PATCH REPORT |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
================= |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
Bash-Release: 4.2 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
Patch-ID: bash42-030 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
Bug-Reported-by: Roman Rakus <[email protected]> |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
Bug-Reference-ID: <[email protected]> |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00126.html |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
Bug-Description: |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
When attempting to glob strings in a multibyte locale, and those strings |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
contain invalid multibyte characters that cause mbsnrtowcs to return 0, |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
the globbing code loops infinitely. |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
Patch (apply with `patch -p0'): |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2010-05-30 18:36:27.000000000 -0400 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
--- lib/glob/xmbsrtowcs.c 2011-03-22 16:06:47.000000000 -0400 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
*** 36,39 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
--- 36,41 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
#if HANDLE_MULTIBYTE |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
+ #define WSBUF_INC 32 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
#ifndef FREE |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
# define FREE(x) do { if (x) free (x); } while (0) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
*** 149,153 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
size_t wcnum; /* Number of wide characters in WSBUF */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
mbstate_t state; /* Conversion State */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
! size_t wcslength; /* Number of wide characters produced by the conversion. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
const char *end_or_backslash; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
size_t nms; /* Number of multibyte characters to convert at one time. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
--- 151,155 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
size_t wcnum; /* Number of wide characters in WSBUF */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
mbstate_t state; /* Conversion State */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
! size_t n, wcslength; /* Number of wide characters produced by the conversion. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
const char *end_or_backslash; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
size_t nms; /* Number of multibyte characters to convert at one time. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
*** 172,176 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
tmp_p = p; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
tmp_state = state; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
! wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
/* Conversion failed. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
--- 174,189 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
tmp_p = p; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
tmp_state = state; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
! |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
! if (nms == 0 && *p == '\\') /* special initial case */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
! nms = wcslength = 1; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
! else |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
! wcslength = mbsnrtowcs (NULL, &tmp_p, nms, 0, &tmp_state); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
! |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
! if (wcslength == 0) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
! { |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
! tmp_p = p; /* will need below */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
! tmp_state = state; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
! wcslength = 1; /* take a single byte */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
! } |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
/* Conversion failed. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
*** 187,191 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
wchar_t *wstmp; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
! wsbuf_size = wcnum+wcslength+1; /* 1 for the L'\0' or the potential L'\\' */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t)); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
--- 200,205 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
wchar_t *wstmp; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
! while (wsbuf_size < wcnum+wcslength+1) /* 1 for the L'\0' or the potential L'\\' */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
! wsbuf_size += WSBUF_INC; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t)); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
*** 200,207 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
/* Perform the conversion. This is assumed to return 'wcslength'. |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
! * It may set 'p' to NULL. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
! mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
! wcnum += wcslength; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
if (mbsinit (&state) && (p != NULL) && (*p == '\\')) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
--- 214,229 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
/* Perform the conversion. This is assumed to return 'wcslength'. |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
! It may set 'p' to NULL. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
! n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
! /* Compensate for taking single byte on wcs conversion failure above. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
! if (wcslength == 1 && (n == 0 || n == (size_t)-1)) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
! { |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
! state = tmp_state; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
! p = tmp_p; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
! wsbuf[wcnum++] = *p++; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
! } |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
! else |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
! wcnum += wcslength; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
if (mbsinit (&state) && (p != NULL) && (*p == '\\')) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
*** 231,236 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
of DESTP and INDICESP are NULL. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
- #define WSBUF_INC 32 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
size_t |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
xdupmbstowcs (destp, indicesp, src) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
--- 253,256 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
*** ../bash-4.2-patched/lib/glob/glob.c 2009-11-14 18:39:30.000000000 -0500 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
--- lib/glob/glob.c 2012-07-07 12:09:56.000000000 -0400 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
*** 201,206 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
size_t pat_n, dn_n; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
pat_n = xdupmbstowcs (&pat_wc, NULL, pat); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
! dn_n = xdupmbstowcs (&dn_wc, NULL, dname); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
ret = 0; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
--- 201,209 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
size_t pat_n, dn_n; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
+ pat_wc = dn_wc = (wchar_t *)NULL; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
+ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
pat_n = xdupmbstowcs (&pat_wc, NULL, pat); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
! if (pat_n != (size_t)-1) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
! dn_n = xdupmbstowcs (&dn_wc, NULL, dname); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
ret = 0; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
*** 222,225 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
--- 225,230 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
ret = 1; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
} |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
+ else |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
+ ret = skipname (pat, dname, flags); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
FREE (pat_wc); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
*** 267,272 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
n = xdupmbstowcs (&wpathname, NULL, pathname); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
if (n == (size_t) -1) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
! /* Something wrong. */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
151 |
! return; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
152 |
orig_wpathname = wpathname; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
153 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
154 |
--- 272,280 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
155 |
n = xdupmbstowcs (&wpathname, NULL, pathname); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
156 |
if (n == (size_t) -1) |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
157 |
! { |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
158 |
! /* Something wrong. Fall back to single-byte */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
159 |
! udequote_pathname (pathname); |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
160 |
! return; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
161 |
! } |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
162 |
orig_wpathname = wpathname; |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
163 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
164 |
*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
165 |
--- patchlevel.h Thu Feb 24 21:41:34 2011 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
166 |
*************** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
167 |
*** 26,30 **** |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
168 |
looks for to find the patch level (for the sccs version string). */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
169 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
170 |
! #define PATCHLEVEL 29 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
171 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
172 |
#endif /* _PATCHLEVEL_H_ */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
173 |
--- 26,30 ---- |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
174 |
looks for to find the patch level (for the sccs version string). */ |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
175 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
176 |
! #define PATCHLEVEL 30 |
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
177 |
|
6d49548fa9da
15754923 SUNBT7111705 Upgrade bash to 4.2
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
178 |
#endif /* _PATCHLEVEL_H_ */ |