Annotation of /trunk/glibc/patches/glibc-2.15-confstr-local-buffer-extent.patch
Parent Directory | Revision Log
Revision 1806 -
(hide 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 | niro | 1806 | 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: |