Contents of /trunk/glibc/patches/glibc-2.15-confstr-local-buffer-extent.patch
Parent Directory | Revision Log
Revision 1806 -
(show annotations)
(download)
Tue Jun 12 12:33:27 2012 UTC (12 years, 3 months ago) by niro
File size: 9181 byte(s)
Tue Jun 12 12:33:27 2012 UTC (12 years, 3 months ago) by niro
File size: 9181 byte(s)
-added patches for 2.15-r1
1 | diff --git a/posix/confstr.c b/posix/confstr.c |
2 | index 3c9566d..cad6561 100644 |
3 | --- a/posix/confstr.c |
4 | +++ b/posix/confstr.c |
5 | @@ -35,6 +34,10 @@ confstr (name, buf, len) |
6 | const char *string = ""; |
7 | size_t string_len = 1; |
8 | |
9 | + /* Note that this buffer must be large enough for the longest strings |
10 | + used below. */ |
11 | + char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"]; |
12 | + |
13 | switch (name) |
14 | { |
15 | case _CS_PATH: |
16 | @@ -53,59 +56,55 @@ confstr (name, buf, len) |
17 | wint_t types are no greater than the width of type long. |
18 | |
19 | Currently this means all environment which the system allows. */ |
20 | - { |
21 | - char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"]; |
22 | - |
23 | - string_len = 0; |
24 | + string_len = 0; |
25 | #ifndef _POSIX_V7_ILP32_OFF32 |
26 | - if (__sysconf (_SC_V7_ILP32_OFF32) > 0) |
27 | + if (__sysconf (_SC_V7_ILP32_OFF32) > 0) |
28 | #endif |
29 | #if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0 |
30 | - { |
31 | - memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32", |
32 | - sizeof "POSIX_V7_ILP32_OFF32" - 1); |
33 | - string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1; |
34 | - } |
35 | + { |
36 | + memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32", |
37 | + sizeof "POSIX_V7_ILP32_OFF32" - 1); |
38 | + string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1; |
39 | + } |
40 | #endif |
41 | #ifndef _POSIX_V7_ILP32_OFFBIG |
42 | - if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0) |
43 | + if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0) |
44 | #endif |
45 | #if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0 |
46 | - { |
47 | - if (string_len) |
48 | - restenvs[string_len++] = '\n'; |
49 | - memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG", |
50 | - sizeof "POSIX_V7_ILP32_OFFBIG" - 1); |
51 | - string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1; |
52 | - } |
53 | + { |
54 | + if (string_len) |
55 | + restenvs[string_len++] = '\n'; |
56 | + memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG", |
57 | + sizeof "POSIX_V7_ILP32_OFFBIG" - 1); |
58 | + string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1; |
59 | + } |
60 | #endif |
61 | #ifndef _POSIX_V7_LP64_OFF64 |
62 | - if (__sysconf (_SC_V7_LP64_OFF64) > 0) |
63 | + if (__sysconf (_SC_V7_LP64_OFF64) > 0) |
64 | #endif |
65 | #if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0 |
66 | - { |
67 | - if (string_len) |
68 | - restenvs[string_len++] = '\n'; |
69 | - memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64", |
70 | - sizeof "POSIX_V7_LP64_OFF64" - 1); |
71 | - string_len += sizeof "POSIX_V7_LP64_OFF64" - 1; |
72 | - } |
73 | + { |
74 | + if (string_len) |
75 | + restenvs[string_len++] = '\n'; |
76 | + memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64", |
77 | + sizeof "POSIX_V7_LP64_OFF64" - 1); |
78 | + string_len += sizeof "POSIX_V7_LP64_OFF64" - 1; |
79 | + } |
80 | #endif |
81 | #ifndef _POSIX_V7_LPBIG_OFFBIG |
82 | - if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0) |
83 | + if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0) |
84 | #endif |
85 | #if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0 |
86 | - { |
87 | - if (string_len) |
88 | - restenvs[string_len++] = '\n'; |
89 | - memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG", |
90 | - sizeof "POSIX_V7_LPBIG_OFFBIG" - 1); |
91 | - string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1; |
92 | - } |
93 | -#endif |
94 | - restenvs[string_len++] = '\0'; |
95 | - string = restenvs; |
96 | - } |
97 | + { |
98 | + if (string_len) |
99 | + restenvs[string_len++] = '\n'; |
100 | + memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG", |
101 | + sizeof "POSIX_V7_LPBIG_OFFBIG" - 1); |
102 | + string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1; |
103 | + } |
104 | +#endif |
105 | + restenvs[string_len++] = '\0'; |
106 | + string = restenvs; |
107 | break; |
108 | |
109 | case _CS_V6_WIDTH_RESTRICTED_ENVS: |
110 | @@ -116,59 +115,55 @@ confstr (name, buf, len) |
111 | wint_t types are no greater than the width of type long. |
112 | |
113 | Currently this means all environment which the system allows. */ |
114 | - { |
115 | - char restenvs[4 * sizeof "POSIX_V6_LPBIG_OFFBIG"]; |
116 | - |
117 | - string_len = 0; |
118 | + string_len = 0; |
119 | #ifndef _POSIX_V6_ILP32_OFF32 |
120 | - if (__sysconf (_SC_V6_ILP32_OFF32) > 0) |
121 | + if (__sysconf (_SC_V6_ILP32_OFF32) > 0) |
122 | #endif |
123 | #if !defined _POSIX_V6_ILP32_OFF32 || _POSIX_V6_ILP32_OFF32 > 0 |
124 | - { |
125 | - memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32", |
126 | - sizeof "POSIX_V6_ILP32_OFF32" - 1); |
127 | - string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1; |
128 | - } |
129 | + { |
130 | + memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32", |
131 | + sizeof "POSIX_V6_ILP32_OFF32" - 1); |
132 | + string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1; |
133 | + } |
134 | #endif |
135 | #ifndef _POSIX_V6_ILP32_OFFBIG |
136 | - if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0) |
137 | + if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0) |
138 | #endif |
139 | #if !defined _POSIX_V6_ILP32_OFFBIG || _POSIX_V6_ILP32_OFFBIG > 0 |
140 | - { |
141 | - if (string_len) |
142 | - restenvs[string_len++] = '\n'; |
143 | - memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG", |
144 | - sizeof "POSIX_V6_ILP32_OFFBIG" - 1); |
145 | - string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1; |
146 | - } |
147 | + { |
148 | + if (string_len) |
149 | + restenvs[string_len++] = '\n'; |
150 | + memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG", |
151 | + sizeof "POSIX_V6_ILP32_OFFBIG" - 1); |
152 | + string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1; |
153 | + } |
154 | #endif |
155 | #ifndef _POSIX_V6_LP64_OFF64 |
156 | - if (__sysconf (_SC_V6_LP64_OFF64) > 0) |
157 | + if (__sysconf (_SC_V6_LP64_OFF64) > 0) |
158 | #endif |
159 | #if !defined _POSIX_V6_LP64_OFF64 || _POSIX_V6_LP64_OFF64 > 0 |
160 | - { |
161 | - if (string_len) |
162 | - restenvs[string_len++] = '\n'; |
163 | - memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64", |
164 | - sizeof "POSIX_V6_LP64_OFF64" - 1); |
165 | - string_len += sizeof "POSIX_V6_LP64_OFF64" - 1; |
166 | - } |
167 | + { |
168 | + if (string_len) |
169 | + restenvs[string_len++] = '\n'; |
170 | + memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64", |
171 | + sizeof "POSIX_V6_LP64_OFF64" - 1); |
172 | + string_len += sizeof "POSIX_V6_LP64_OFF64" - 1; |
173 | + } |
174 | #endif |
175 | #ifndef _POSIX_V6_LPBIG_OFFBIG |
176 | - if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0) |
177 | + if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0) |
178 | #endif |
179 | #if !defined _POSIX_V6_LPBIG_OFFBIG || _POSIX_V6_LPBIG_OFFBIG > 0 |
180 | - { |
181 | - if (string_len) |
182 | - restenvs[string_len++] = '\n'; |
183 | - memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG", |
184 | - sizeof "POSIX_V6_LPBIG_OFFBIG" - 1); |
185 | - string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1; |
186 | - } |
187 | -#endif |
188 | - restenvs[string_len++] = '\0'; |
189 | - string = restenvs; |
190 | - } |
191 | + { |
192 | + if (string_len) |
193 | + restenvs[string_len++] = '\n'; |
194 | + memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG", |
195 | + sizeof "POSIX_V6_LPBIG_OFFBIG" - 1); |
196 | + string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1; |
197 | + } |
198 | +#endif |
199 | + restenvs[string_len++] = '\0'; |
200 | + string = restenvs; |
201 | break; |
202 | |
203 | case _CS_V5_WIDTH_RESTRICTED_ENVS: |
204 | @@ -179,59 +174,55 @@ confstr (name, buf, len) |
205 | wint_t types are no greater than the width of type long. |
206 | |
207 | Currently this means all environment which the system allows. */ |
208 | - { |
209 | - char restenvs[4 * sizeof "XBS5_LPBIG_OFFBIG"]; |
210 | - |
211 | - string_len = 0; |
212 | + string_len = 0; |
213 | #ifndef _XBS5_ILP32_OFF32 |
214 | - if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0) |
215 | + if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0) |
216 | #endif |
217 | #if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0 |
218 | - { |
219 | - memcpy (restenvs + string_len, "XBS5_ILP32_OFF32", |
220 | - sizeof "XBS5_ILP32_OFF32" - 1); |
221 | - string_len += sizeof "XBS5_ILP32_OFF32" - 1; |
222 | - } |
223 | + { |
224 | + memcpy (restenvs + string_len, "XBS5_ILP32_OFF32", |
225 | + sizeof "XBS5_ILP32_OFF32" - 1); |
226 | + string_len += sizeof "XBS5_ILP32_OFF32" - 1; |
227 | + } |
228 | #endif |
229 | #ifndef _XBS5_ILP32_OFFBIG |
230 | - if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0) |
231 | + if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0) |
232 | #endif |
233 | #if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0 |
234 | - { |
235 | - if (string_len) |
236 | - restenvs[string_len++] = '\n'; |
237 | - memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG", |
238 | - sizeof "XBS5_ILP32_OFFBIG" - 1); |
239 | - string_len += sizeof "XBS5_ILP32_OFFBIG" - 1; |
240 | - } |
241 | + { |
242 | + if (string_len) |
243 | + restenvs[string_len++] = '\n'; |
244 | + memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG", |
245 | + sizeof "XBS5_ILP32_OFFBIG" - 1); |
246 | + string_len += sizeof "XBS5_ILP32_OFFBIG" - 1; |
247 | + } |
248 | #endif |
249 | #ifndef _XBS5_LP64_OFF64 |
250 | - if (__sysconf (_SC_XBS5_LP64_OFF64) > 0) |
251 | + if (__sysconf (_SC_XBS5_LP64_OFF64) > 0) |
252 | #endif |
253 | #if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0 |
254 | - { |
255 | - if (string_len) |
256 | - restenvs[string_len++] = '\n'; |
257 | - memcpy (restenvs + string_len, "XBS5_LP64_OFF64", |
258 | - sizeof "XBS5_LP64_OFF64" - 1); |
259 | - string_len += sizeof "XBS5_LP64_OFF64" - 1; |
260 | - } |
261 | + { |
262 | + if (string_len) |
263 | + restenvs[string_len++] = '\n'; |
264 | + memcpy (restenvs + string_len, "XBS5_LP64_OFF64", |
265 | + sizeof "XBS5_LP64_OFF64" - 1); |
266 | + string_len += sizeof "XBS5_LP64_OFF64" - 1; |
267 | + } |
268 | #endif |
269 | #ifndef _XBS5_LPBIG_OFFBIG |
270 | - if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0) |
271 | + if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0) |
272 | #endif |
273 | #if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0 |
274 | - { |
275 | - if (string_len) |
276 | - restenvs[string_len++] = '\n'; |
277 | - memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG", |
278 | - sizeof "XBS5_LPBIG_OFFBIG" - 1); |
279 | - string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1; |
280 | - } |
281 | -#endif |
282 | - restenvs[string_len++] = '\0'; |
283 | - string = restenvs; |
284 | - } |
285 | + { |
286 | + if (string_len) |
287 | + restenvs[string_len++] = '\n'; |
288 | + memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG", |
289 | + sizeof "XBS5_LPBIG_OFFBIG" - 1); |
290 | + string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1; |
291 | + } |
292 | +#endif |
293 | + restenvs[string_len++] = '\0'; |
294 | + string = restenvs; |
295 | break; |
296 | |
297 | case _CS_XBS5_ILP32_OFF32_CFLAGS: |