Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/dso/dso_lib.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | - | |||||||||||||||||||
3 | static DSO_METHOD *default_DSO_meth = | - | ||||||||||||||||||
4 | ((void *)0) | - | ||||||||||||||||||
5 | ; | - | ||||||||||||||||||
6 | - | |||||||||||||||||||
7 | DSO * | - | ||||||||||||||||||
8 | DSO_new(void) | - | ||||||||||||||||||
9 | { | - | ||||||||||||||||||
10 | return never executed: (DSO_new_method(return (DSO_new_method( ((void *)0) )); never executed: return (DSO_new_method( ((void *)0) )); | 0 | ||||||||||||||||||
11 | ((void *)0) never executed: return (DSO_new_method( ((void *)0) )); | 0 | ||||||||||||||||||
12 | )); never executed: return (DSO_new_method( ((void *)0) )); | 0 | ||||||||||||||||||
13 | } | - | ||||||||||||||||||
14 | - | |||||||||||||||||||
15 | void | - | ||||||||||||||||||
16 | DSO_set_default_method(DSO_METHOD *meth) | - | ||||||||||||||||||
17 | { | - | ||||||||||||||||||
18 | default_DSO_meth = meth; | - | ||||||||||||||||||
19 | } never executed: end of block | 0 | ||||||||||||||||||
20 | - | |||||||||||||||||||
21 | DSO_METHOD * | - | ||||||||||||||||||
22 | DSO_get_default_method(void) | - | ||||||||||||||||||
23 | { | - | ||||||||||||||||||
24 | return never executed: (default_DSO_meth);return (default_DSO_meth); never executed: return (default_DSO_meth); | 0 | ||||||||||||||||||
25 | } | - | ||||||||||||||||||
26 | - | |||||||||||||||||||
27 | DSO_METHOD * | - | ||||||||||||||||||
28 | DSO_get_method(DSO *dso) | - | ||||||||||||||||||
29 | { | - | ||||||||||||||||||
30 | return never executed: (dso->meth);return (dso->meth); never executed: return (dso->meth); | 0 | ||||||||||||||||||
31 | } | - | ||||||||||||||||||
32 | - | |||||||||||||||||||
33 | DSO_METHOD * | - | ||||||||||||||||||
34 | DSO_set_method(DSO *dso, DSO_METHOD *meth) | - | ||||||||||||||||||
35 | { | - | ||||||||||||||||||
36 | DSO_METHOD *mtmp; | - | ||||||||||||||||||
37 | - | |||||||||||||||||||
38 | mtmp = dso->meth; | - | ||||||||||||||||||
39 | dso->meth = meth; | - | ||||||||||||||||||
40 | return never executed: (mtmp);return (mtmp); never executed: return (mtmp); | 0 | ||||||||||||||||||
41 | } | - | ||||||||||||||||||
42 | - | |||||||||||||||||||
43 | DSO * | - | ||||||||||||||||||
44 | DSO_new_method(DSO_METHOD *meth) | - | ||||||||||||||||||
45 | { | - | ||||||||||||||||||
46 | DSO *ret; | - | ||||||||||||||||||
47 | - | |||||||||||||||||||
48 | if (default_DSO_meth ==
| 0 | ||||||||||||||||||
49 | ((void *)0)
| 0 | ||||||||||||||||||
50 | ) | - | ||||||||||||||||||
51 | - | |||||||||||||||||||
52 | - | |||||||||||||||||||
53 | - | |||||||||||||||||||
54 | default_DSO_meth = DSO_METHOD_openssl(); never executed: default_DSO_meth = DSO_METHOD_openssl(); | 0 | ||||||||||||||||||
55 | ret = calloc(1, sizeof(DSO)); | - | ||||||||||||||||||
56 | if (ret ==
| 0 | ||||||||||||||||||
57 | ((void *)0)
| 0 | ||||||||||||||||||
58 | ) { | - | ||||||||||||||||||
59 | ERR_put_error(37,(0xfff),((1|64)),__FILE__,114); | - | ||||||||||||||||||
60 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
61 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
62 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
63 | } | - | ||||||||||||||||||
64 | ret->meth_data = ((struct stack_st_void *)sk_new_null()); | - | ||||||||||||||||||
65 | if (ret->meth_data ==
| 0 | ||||||||||||||||||
66 | ((void *)0)
| 0 | ||||||||||||||||||
67 | ) { | - | ||||||||||||||||||
68 | - | |||||||||||||||||||
69 | ERR_put_error(37,(0xfff),((1|64)),__FILE__,120); | - | ||||||||||||||||||
70 | free(ret); | - | ||||||||||||||||||
71 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
72 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
73 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
74 | } | - | ||||||||||||||||||
75 | if (meth ==
| 0 | ||||||||||||||||||
76 | ((void *)0)
| 0 | ||||||||||||||||||
77 | ) | - | ||||||||||||||||||
78 | ret->meth = default_DSO_meth; never executed: ret->meth = default_DSO_meth; | 0 | ||||||||||||||||||
79 | else | - | ||||||||||||||||||
80 | ret->meth = meth; never executed: ret->meth = meth; | 0 | ||||||||||||||||||
81 | ret->references = 1; | - | ||||||||||||||||||
82 | if ((
| 0 | ||||||||||||||||||
83 | ((void *)0)
| 0 | ||||||||||||||||||
84 | )
| 0 | ||||||||||||||||||
85 | free(ret); | - | ||||||||||||||||||
86 | ret = | - | ||||||||||||||||||
87 | ((void *)0) | - | ||||||||||||||||||
88 | ; | - | ||||||||||||||||||
89 | } never executed: end of block | 0 | ||||||||||||||||||
90 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
91 | } | - | ||||||||||||||||||
92 | - | |||||||||||||||||||
93 | int | - | ||||||||||||||||||
94 | DSO_free(DSO *dso) | - | ||||||||||||||||||
95 | { | - | ||||||||||||||||||
96 | int i; | - | ||||||||||||||||||
97 | - | |||||||||||||||||||
98 | if (dso ==
| 0-1 | ||||||||||||||||||
99 | ((void *)0)
| 0-1 | ||||||||||||||||||
100 | ) { | - | ||||||||||||||||||
101 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,142); | - | ||||||||||||||||||
102 | return executed 1 time by 1 test: (0);return (0); Executed by:
executed 1 time by 1 test: return (0); Executed by:
| 1 | ||||||||||||||||||
103 | } | - | ||||||||||||||||||
104 | - | |||||||||||||||||||
105 | i = CRYPTO_add_lock(&dso->references,-1,28,__FILE__,146); | - | ||||||||||||||||||
106 | if (i > 0
| 0 | ||||||||||||||||||
107 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
108 | - | |||||||||||||||||||
109 | if ((
| 0 | ||||||||||||||||||
110 | ((void *)0)
| 0 | ||||||||||||||||||
111 | )
| 0 | ||||||||||||||||||
112 | ERR_put_error(37,(0xfff),(107),__FILE__,151); | - | ||||||||||||||||||
113 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
114 | } | - | ||||||||||||||||||
115 | - | |||||||||||||||||||
116 | if ((
| 0 | ||||||||||||||||||
117 | ((void *)0)
| 0 | ||||||||||||||||||
118 | )
| 0 | ||||||||||||||||||
119 | ERR_put_error(37,(0xfff),(102),__FILE__,156); | - | ||||||||||||||||||
120 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
121 | } | - | ||||||||||||||||||
122 | - | |||||||||||||||||||
123 | sk_free(((_STACK*) (1 ? (dso->meth_data) : (struct stack_st_void*)0))); | - | ||||||||||||||||||
124 | free(dso->filename); | - | ||||||||||||||||||
125 | free(dso->loaded_filename); | - | ||||||||||||||||||
126 | free(dso); | - | ||||||||||||||||||
127 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
128 | } | - | ||||||||||||||||||
129 | - | |||||||||||||||||||
130 | int | - | ||||||||||||||||||
131 | DSO_flags(DSO *dso) | - | ||||||||||||||||||
132 | { | - | ||||||||||||||||||
133 | return never executed: ((return ((dso == ((void *)0) ) ? 0 : dso->flags);
never executed: return ((dso == ((void *)0) ) ? 0 : dso->flags); | 0 | ||||||||||||||||||
134 | ((void *)0)
never executed: return ((dso == ((void *)0) ) ? 0 : dso->flags); | 0 | ||||||||||||||||||
135 | )
never executed: return ((dso == ((void *)0) ) ? 0 : dso->flags); | 0 | ||||||||||||||||||
136 | } | - | ||||||||||||||||||
137 | - | |||||||||||||||||||
138 | - | |||||||||||||||||||
139 | int | - | ||||||||||||||||||
140 | DSO_up_ref(DSO *dso) | - | ||||||||||||||||||
141 | { | - | ||||||||||||||||||
142 | int refs; | - | ||||||||||||||||||
143 | - | |||||||||||||||||||
144 | if (dso ==
| 0 | ||||||||||||||||||
145 | ((void *)0)
| 0 | ||||||||||||||||||
146 | ) { | - | ||||||||||||||||||
147 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,180); | - | ||||||||||||||||||
148 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
149 | } | - | ||||||||||||||||||
150 | - | |||||||||||||||||||
151 | refs = CRYPTO_add_lock(&dso->references,1,28,__FILE__,184); | - | ||||||||||||||||||
152 | return never executed: ((return ((refs > 1) ? 1 : 0);
never executed: return ((refs > 1) ? 1 : 0); | 0 | ||||||||||||||||||
153 | } | - | ||||||||||||||||||
154 | - | |||||||||||||||||||
155 | DSO * | - | ||||||||||||||||||
156 | DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags) | - | ||||||||||||||||||
157 | { | - | ||||||||||||||||||
158 | DSO *ret; | - | ||||||||||||||||||
159 | int allocated = 0; | - | ||||||||||||||||||
160 | - | |||||||||||||||||||
161 | if (dso ==
| 0 | ||||||||||||||||||
162 | ((void *)0)
| 0 | ||||||||||||||||||
163 | ) { | - | ||||||||||||||||||
164 | ret = DSO_new_method(meth); | - | ||||||||||||||||||
165 | if (ret ==
| 0 | ||||||||||||||||||
166 | ((void *)0)
| 0 | ||||||||||||||||||
167 | ) { | - | ||||||||||||||||||
168 | ERR_put_error(37,(0xfff),((1|64)),__FILE__,197); | - | ||||||||||||||||||
169 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
170 | } | - | ||||||||||||||||||
171 | allocated = 1; | - | ||||||||||||||||||
172 | - | |||||||||||||||||||
173 | if (DSO_ctrl(ret, 2, flags,
| 0 | ||||||||||||||||||
174 | ((void *)0)
| 0 | ||||||||||||||||||
175 | ) < 0
| 0 | ||||||||||||||||||
176 | ERR_put_error(37,(0xfff),(100),__FILE__,203); | - | ||||||||||||||||||
177 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
178 | } | - | ||||||||||||||||||
179 | } never executed: elseend of block | 0 | ||||||||||||||||||
180 | ret = dso; never executed: ret = dso; | 0 | ||||||||||||||||||
181 | - | |||||||||||||||||||
182 | if (ret->filename !=
| 0 | ||||||||||||||||||
183 | ((void *)0)
| 0 | ||||||||||||||||||
184 | ) { | - | ||||||||||||||||||
185 | ERR_put_error(37,(0xfff),(110),__FILE__,210); | - | ||||||||||||||||||
186 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
187 | } | - | ||||||||||||||||||
188 | - | |||||||||||||||||||
189 | - | |||||||||||||||||||
190 | if (filename !=
| 0 | ||||||||||||||||||
191 | ((void *)0)
| 0 | ||||||||||||||||||
192 | ) | - | ||||||||||||||||||
193 | if (!DSO_set_filename(ret, filename)
| 0 | ||||||||||||||||||
194 | ERR_put_error(37,(0xfff),(112),__FILE__,217); | - | ||||||||||||||||||
195 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
196 | } | - | ||||||||||||||||||
197 | filename = ret->filename; | - | ||||||||||||||||||
198 | if (filename ==
| 0 | ||||||||||||||||||
199 | ((void *)0)
| 0 | ||||||||||||||||||
200 | ) { | - | ||||||||||||||||||
201 | ERR_put_error(37,(0xfff),(111),__FILE__,222); | - | ||||||||||||||||||
202 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
203 | } | - | ||||||||||||||||||
204 | if (ret->meth->dso_load ==
| 0 | ||||||||||||||||||
205 | ((void *)0)
| 0 | ||||||||||||||||||
206 | ) { | - | ||||||||||||||||||
207 | ERR_put_error(37,(0xfff),(108),__FILE__,226); | - | ||||||||||||||||||
208 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
209 | } | - | ||||||||||||||||||
210 | if (!ret->meth->dso_load(ret)
| 0 | ||||||||||||||||||
211 | ERR_put_error(37,(0xfff),(103),__FILE__,230); | - | ||||||||||||||||||
212 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
213 | } | - | ||||||||||||||||||
214 | - | |||||||||||||||||||
215 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
216 | - | |||||||||||||||||||
217 | err: | - | ||||||||||||||||||
218 | if (allocated
| 0 | ||||||||||||||||||
219 | DSO_free(ret); never executed: DSO_free(ret); | 0 | ||||||||||||||||||
220 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
221 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
222 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
223 | } | - | ||||||||||||||||||
224 | - | |||||||||||||||||||
225 | void * | - | ||||||||||||||||||
226 | DSO_bind_var(DSO *dso, const char *symname) | - | ||||||||||||||||||
227 | { | - | ||||||||||||||||||
228 | void *ret = | - | ||||||||||||||||||
229 | ((void *)0) | - | ||||||||||||||||||
230 | ; | - | ||||||||||||||||||
231 | - | |||||||||||||||||||
232 | if ((
| 0 | ||||||||||||||||||
233 | ((void *)0)
| 0 | ||||||||||||||||||
234 | )
| 0 | ||||||||||||||||||
235 | ((void *)0)
| 0 | ||||||||||||||||||
236 | )
| 0 | ||||||||||||||||||
237 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,248); | - | ||||||||||||||||||
238 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
239 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
240 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
241 | } | - | ||||||||||||||||||
242 | if (dso->meth->dso_bind_var ==
| 0 | ||||||||||||||||||
243 | ((void *)0)
| 0 | ||||||||||||||||||
244 | ) { | - | ||||||||||||||||||
245 | ERR_put_error(37,(0xfff),(108),__FILE__,252); | - | ||||||||||||||||||
246 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
247 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
248 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
249 | } | - | ||||||||||||||||||
250 | if ((
| 0 | ||||||||||||||||||
251 | ((void *)0)
| 0 | ||||||||||||||||||
252 | ) { | - | ||||||||||||||||||
253 | ERR_put_error(37,(0xfff),(106),__FILE__,256); | - | ||||||||||||||||||
254 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
255 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
256 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
257 | } | - | ||||||||||||||||||
258 | - | |||||||||||||||||||
259 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
260 | } | - | ||||||||||||||||||
261 | - | |||||||||||||||||||
262 | DSO_FUNC_TYPE | - | ||||||||||||||||||
263 | DSO_bind_func(DSO *dso, const char *symname) | - | ||||||||||||||||||
264 | { | - | ||||||||||||||||||
265 | DSO_FUNC_TYPE ret = | - | ||||||||||||||||||
266 | ((void *)0) | - | ||||||||||||||||||
267 | ; | - | ||||||||||||||||||
268 | - | |||||||||||||||||||
269 | if ((
| 0 | ||||||||||||||||||
270 | ((void *)0)
| 0 | ||||||||||||||||||
271 | )
| 0 | ||||||||||||||||||
272 | ((void *)0)
| 0 | ||||||||||||||||||
273 | )
| 0 | ||||||||||||||||||
274 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,269); | - | ||||||||||||||||||
275 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
276 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
277 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
278 | } | - | ||||||||||||||||||
279 | if (dso->meth->dso_bind_func ==
| 0 | ||||||||||||||||||
280 | ((void *)0)
| 0 | ||||||||||||||||||
281 | ) { | - | ||||||||||||||||||
282 | ERR_put_error(37,(0xfff),(108),__FILE__,273); | - | ||||||||||||||||||
283 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
284 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
285 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
286 | } | - | ||||||||||||||||||
287 | if ((
| 0 | ||||||||||||||||||
288 | ((void *)0)
| 0 | ||||||||||||||||||
289 | ) { | - | ||||||||||||||||||
290 | ERR_put_error(37,(0xfff),(106),__FILE__,277); | - | ||||||||||||||||||
291 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
292 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
293 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
294 | } | - | ||||||||||||||||||
295 | - | |||||||||||||||||||
296 | return never executed: (ret);return (ret); never executed: return (ret); | 0 | ||||||||||||||||||
297 | } | - | ||||||||||||||||||
298 | long | - | ||||||||||||||||||
299 | DSO_ctrl(DSO *dso, int cmd, long larg, void *parg) | - | ||||||||||||||||||
300 | { | - | ||||||||||||||||||
301 | if (dso ==
| 0 | ||||||||||||||||||
302 | ((void *)0)
| 0 | ||||||||||||||||||
303 | ) { | - | ||||||||||||||||||
304 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,296); | - | ||||||||||||||||||
305 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||
306 | } | - | ||||||||||||||||||
307 | - | |||||||||||||||||||
308 | - | |||||||||||||||||||
309 | - | |||||||||||||||||||
310 | switch (cmd) { | - | ||||||||||||||||||
311 | case never executed: 1:case 1: never executed: case 1: | 0 | ||||||||||||||||||
312 | return never executed: dso->flags;return dso->flags; never executed: return dso->flags; | 0 | ||||||||||||||||||
313 | case never executed: 2:case 2: never executed: case 2: | 0 | ||||||||||||||||||
314 | dso->flags = (int)larg; | - | ||||||||||||||||||
315 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
316 | case never executed: 3:case 3: never executed: case 3: | 0 | ||||||||||||||||||
317 | dso->flags |= (int)larg; | - | ||||||||||||||||||
318 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
319 | default never executed: :default: never executed: default: | 0 | ||||||||||||||||||
320 | break; never executed: break; | 0 | ||||||||||||||||||
321 | } | - | ||||||||||||||||||
322 | if ((
| 0 | ||||||||||||||||||
323 | ((void *)0)
| 0 | ||||||||||||||||||
324 | )
| 0 | ||||||||||||||||||
325 | ((void *)0)
| 0 | ||||||||||||||||||
326 | )
| 0 | ||||||||||||||||||
327 | ERR_put_error(37,(0xfff),(108),__FILE__,315); | - | ||||||||||||||||||
328 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||||||||
329 | } | - | ||||||||||||||||||
330 | return never executed: (dso->meth->dso_ctrl(dso, cmd, larg, parg));return (dso->meth->dso_ctrl(dso, cmd, larg, parg)); never executed: return (dso->meth->dso_ctrl(dso, cmd, larg, parg)); | 0 | ||||||||||||||||||
331 | } | - | ||||||||||||||||||
332 | - | |||||||||||||||||||
333 | int | - | ||||||||||||||||||
334 | DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb, | - | ||||||||||||||||||
335 | DSO_NAME_CONVERTER_FUNC *oldcb) | - | ||||||||||||||||||
336 | { | - | ||||||||||||||||||
337 | if (dso ==
| 0 | ||||||||||||||||||
338 | ((void *)0)
| 0 | ||||||||||||||||||
339 | ) { | - | ||||||||||||||||||
340 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,326); | - | ||||||||||||||||||
341 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
342 | } | - | ||||||||||||||||||
343 | if (oldcb
| 0 | ||||||||||||||||||
344 | * never executed: oldcb = dso->name_converter;*oldcb = dso->name_converter; never executed: *oldcb = dso->name_converter; | 0 | ||||||||||||||||||
345 | dso->name_converter = cb; | - | ||||||||||||||||||
346 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
347 | } | - | ||||||||||||||||||
348 | - | |||||||||||||||||||
349 | const char * | - | ||||||||||||||||||
350 | DSO_get_filename(DSO *dso) | - | ||||||||||||||||||
351 | { | - | ||||||||||||||||||
352 | if (dso ==
| 0 | ||||||||||||||||||
353 | ((void *)0)
| 0 | ||||||||||||||||||
354 | ) { | - | ||||||||||||||||||
355 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,339); | - | ||||||||||||||||||
356 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
357 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
358 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
359 | } | - | ||||||||||||||||||
360 | return never executed: (dso->filename);return (dso->filename); never executed: return (dso->filename); | 0 | ||||||||||||||||||
361 | } | - | ||||||||||||||||||
362 | - | |||||||||||||||||||
363 | int | - | ||||||||||||||||||
364 | DSO_set_filename(DSO *dso, const char *filename) | - | ||||||||||||||||||
365 | { | - | ||||||||||||||||||
366 | char *copied; | - | ||||||||||||||||||
367 | - | |||||||||||||||||||
368 | if ((
| 0 | ||||||||||||||||||
369 | ((void *)0)
| 0 | ||||||||||||||||||
370 | )
| 0 | ||||||||||||||||||
371 | ((void *)0)
| 0 | ||||||||||||||||||
372 | )
| 0 | ||||||||||||||||||
373 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,351); | - | ||||||||||||||||||
374 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
375 | } | - | ||||||||||||||||||
376 | if (dso->loaded_filename
| 0 | ||||||||||||||||||
377 | ERR_put_error(37,(0xfff),(110),__FILE__,355); | - | ||||||||||||||||||
378 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
379 | } | - | ||||||||||||||||||
380 | - | |||||||||||||||||||
381 | copied = | - | ||||||||||||||||||
382 | (__extension__ (__builtin_constant_p (
| 0 | ||||||||||||||||||
383 | filename
| 0 | ||||||||||||||||||
384 | )
| 0 | ||||||||||||||||||
385 | filename
| 0 | ||||||||||||||||||
386 | ) + 1) - (size_t)(const void *)(
| 0 | ||||||||||||||||||
387 | filename
| 0 | ||||||||||||||||||
388 | ) == 1)
| 0 | ||||||||||||||||||
389 | filename
| 0 | ||||||||||||||||||
390 | ))[0] == '\0'
| 0 | ||||||||||||||||||
391 | filename | - | ||||||||||||||||||
392 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
never executed: __retval = (char *) memcpy (__retval, filename , __len); | 0 | ||||||||||||||||||
393 | filename never executed: __retval = (char *) memcpy (__retval, filename , __len); | 0 | ||||||||||||||||||
394 | , __len); never executed: __retval; })) : __strdup (__retval = (char *) memcpy (__retval, filename , __len); | 0 | ||||||||||||||||||
395 | filename | - | ||||||||||||||||||
396 | ))) | - | ||||||||||||||||||
397 | ; | - | ||||||||||||||||||
398 | if (copied ==
| 0 | ||||||||||||||||||
399 | ((void *)0)
| 0 | ||||||||||||||||||
400 | ) { | - | ||||||||||||||||||
401 | ERR_put_error(37,(0xfff),((1|64)),__FILE__,361); | - | ||||||||||||||||||
402 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||||||||
403 | } | - | ||||||||||||||||||
404 | free(dso->filename); | - | ||||||||||||||||||
405 | dso->filename = copied; | - | ||||||||||||||||||
406 | return never executed: (1);return (1); never executed: return (1); | 0 | ||||||||||||||||||
407 | } | - | ||||||||||||||||||
408 | - | |||||||||||||||||||
409 | char * | - | ||||||||||||||||||
410 | DSO_merge(DSO *dso, const char *filespec1, const char *filespec2) | - | ||||||||||||||||||
411 | { | - | ||||||||||||||||||
412 | char *result = | - | ||||||||||||||||||
413 | ((void *)0) | - | ||||||||||||||||||
414 | ; | - | ||||||||||||||||||
415 | - | |||||||||||||||||||
416 | if (dso ==
| 0 | ||||||||||||||||||
417 | ((void *)0)
| 0 | ||||||||||||||||||
418 | || filespec1 ==
| 0 | ||||||||||||||||||
419 | ((void *)0)
| 0 | ||||||||||||||||||
420 | ) { | - | ||||||||||||||||||
421 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,375); | - | ||||||||||||||||||
422 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
423 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
424 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
425 | } | - | ||||||||||||||||||
426 | if ((
| 0 | ||||||||||||||||||
427 | if (dso->merger !=
| 0 | ||||||||||||||||||
428 | ((void *)0)
| 0 | ||||||||||||||||||
429 | ) | - | ||||||||||||||||||
430 | result = dso->merger(dso, filespec1, filespec2); never executed: result = dso->merger(dso, filespec1, filespec2); | 0 | ||||||||||||||||||
431 | else if (dso->meth->dso_merger !=
| 0 | ||||||||||||||||||
432 | ((void *)0)
| 0 | ||||||||||||||||||
433 | ) | - | ||||||||||||||||||
434 | result = dso->meth->dso_merger(dso, never executed: result = dso->meth->dso_merger(dso, filespec1, filespec2); | 0 | ||||||||||||||||||
435 | filespec1, filespec2); never executed: result = dso->meth->dso_merger(dso, filespec1, filespec2); | 0 | ||||||||||||||||||
436 | } never executed: end of block | 0 | ||||||||||||||||||
437 | return never executed: (result);return (result); never executed: return (result); | 0 | ||||||||||||||||||
438 | } | - | ||||||||||||||||||
439 | - | |||||||||||||||||||
440 | char * | - | ||||||||||||||||||
441 | DSO_convert_filename(DSO *dso, const char *filename) | - | ||||||||||||||||||
442 | { | - | ||||||||||||||||||
443 | char *result = | - | ||||||||||||||||||
444 | ((void *)0) | - | ||||||||||||||||||
445 | ; | - | ||||||||||||||||||
446 | - | |||||||||||||||||||
447 | if (dso ==
| 0 | ||||||||||||||||||
448 | ((void *)0)
| 0 | ||||||||||||||||||
449 | ) { | - | ||||||||||||||||||
450 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,394); | - | ||||||||||||||||||
451 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
452 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
453 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
454 | } | - | ||||||||||||||||||
455 | if (filename ==
| 0 | ||||||||||||||||||
456 | ((void *)0)
| 0 | ||||||||||||||||||
457 | ) | - | ||||||||||||||||||
458 | filename = dso->filename; never executed: filename = dso->filename; | 0 | ||||||||||||||||||
459 | if (filename ==
| 0 | ||||||||||||||||||
460 | ((void *)0)
| 0 | ||||||||||||||||||
461 | ) { | - | ||||||||||||||||||
462 | ERR_put_error(37,(0xfff),(111),__FILE__,400); | - | ||||||||||||||||||
463 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
464 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
465 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
466 | } | - | ||||||||||||||||||
467 | if ((
| 0 | ||||||||||||||||||
468 | if (dso->name_converter !=
| 0 | ||||||||||||||||||
469 | ((void *)0)
| 0 | ||||||||||||||||||
470 | ) | - | ||||||||||||||||||
471 | result = dso->name_converter(dso, filename); never executed: result = dso->name_converter(dso, filename); | 0 | ||||||||||||||||||
472 | else if (dso->meth->dso_name_converter !=
| 0 | ||||||||||||||||||
473 | ((void *)0)
| 0 | ||||||||||||||||||
474 | ) | - | ||||||||||||||||||
475 | result = dso->meth->dso_name_converter(dso, filename); never executed: result = dso->meth->dso_name_converter(dso, filename); | 0 | ||||||||||||||||||
476 | } never executed: end of block | 0 | ||||||||||||||||||
477 | if (result ==
| 0 | ||||||||||||||||||
478 | ((void *)0)
| 0 | ||||||||||||||||||
479 | ) { | - | ||||||||||||||||||
480 | result = | - | ||||||||||||||||||
481 | (__extension__ (__builtin_constant_p (
| 0 | ||||||||||||||||||
482 | filename
| 0 | ||||||||||||||||||
483 | )
| 0 | ||||||||||||||||||
484 | filename
| 0 | ||||||||||||||||||
485 | ) + 1) - (size_t)(const void *)(
| 0 | ||||||||||||||||||
486 | filename
| 0 | ||||||||||||||||||
487 | ) == 1)
| 0 | ||||||||||||||||||
488 | filename
| 0 | ||||||||||||||||||
489 | ))[0] == '\0'
| 0 | ||||||||||||||||||
490 | filename | - | ||||||||||||||||||
491 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)
never executed: __retval = (char *) memcpy (__retval, filename , __len); | 0 | ||||||||||||||||||
492 | filename never executed: __retval = (char *) memcpy (__retval, filename , __len); | 0 | ||||||||||||||||||
493 | , __len); never executed: __retval; })) : __strdup (__retval = (char *) memcpy (__retval, filename , __len); | 0 | ||||||||||||||||||
494 | filename | - | ||||||||||||||||||
495 | ))) | - | ||||||||||||||||||
496 | ; | - | ||||||||||||||||||
497 | if (result ==
| 0 | ||||||||||||||||||
498 | ((void *)0)
| 0 | ||||||||||||||||||
499 | ) { | - | ||||||||||||||||||
500 | ERR_put_error(37,(0xfff),((1|64)),__FILE__,412); | - | ||||||||||||||||||
501 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
502 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
503 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
504 | } | - | ||||||||||||||||||
505 | } never executed: end of block | 0 | ||||||||||||||||||
506 | return never executed: (result);return (result); never executed: return (result); | 0 | ||||||||||||||||||
507 | } | - | ||||||||||||||||||
508 | - | |||||||||||||||||||
509 | const char * | - | ||||||||||||||||||
510 | DSO_get_loaded_filename(DSO *dso) | - | ||||||||||||||||||
511 | { | - | ||||||||||||||||||
512 | if (dso ==
| 0 | ||||||||||||||||||
513 | ((void *)0)
| 0 | ||||||||||||||||||
514 | ) { | - | ||||||||||||||||||
515 | ERR_put_error(37,(0xfff),((3|64)),__FILE__,423); | - | ||||||||||||||||||
516 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
517 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
518 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
519 | } | - | ||||||||||||||||||
520 | return never executed: (dso->loaded_filename);return (dso->loaded_filename); never executed: return (dso->loaded_filename); | 0 | ||||||||||||||||||
521 | } | - | ||||||||||||||||||
522 | - | |||||||||||||||||||
523 | int | - | ||||||||||||||||||
524 | DSO_pathbyaddr(void *addr, char *path, int sz) | - | ||||||||||||||||||
525 | { | - | ||||||||||||||||||
526 | DSO_METHOD *meth = default_DSO_meth; | - | ||||||||||||||||||
527 | if (meth ==
| 0 | ||||||||||||||||||
528 | ((void *)0)
| 0 | ||||||||||||||||||
529 | ) | - | ||||||||||||||||||
530 | meth = DSO_METHOD_openssl(); never executed: meth = DSO_METHOD_openssl(); | 0 | ||||||||||||||||||
531 | if (meth->pathbyaddr ==
| 0 | ||||||||||||||||||
532 | ((void *)0)
| 0 | ||||||||||||||||||
533 | ) { | - | ||||||||||||||||||
534 | ERR_put_error(37,(0xfff),(108),__FILE__,436); | - | ||||||||||||||||||
535 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||||||||
536 | } | - | ||||||||||||||||||
537 | return never executed: (*meth->pathbyaddr)(addr, path, sz);return (*meth->pathbyaddr)(addr, path, sz); never executed: return (*meth->pathbyaddr)(addr, path, sz); | 0 | ||||||||||||||||||
538 | } | - | ||||||||||||||||||
539 | - | |||||||||||||||||||
540 | void * | - | ||||||||||||||||||
541 | DSO_global_lookup(const char *name) | - | ||||||||||||||||||
542 | { | - | ||||||||||||||||||
543 | DSO_METHOD *meth = default_DSO_meth; | - | ||||||||||||||||||
544 | if (meth ==
| 0 | ||||||||||||||||||
545 | ((void *)0)
| 0 | ||||||||||||||||||
546 | ) | - | ||||||||||||||||||
547 | meth = DSO_METHOD_openssl(); never executed: meth = DSO_METHOD_openssl(); | 0 | ||||||||||||||||||
548 | if (meth->globallookup ==
| 0 | ||||||||||||||||||
549 | ((void *)0)
| 0 | ||||||||||||||||||
550 | ) { | - | ||||||||||||||||||
551 | ERR_put_error(37,(0xfff),(108),__FILE__,449); | - | ||||||||||||||||||
552 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
553 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
554 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
555 | } | - | ||||||||||||||||||
556 | return never executed: (*meth->globallookup)(name);return (*meth->globallookup)(name); never executed: return (*meth->globallookup)(name); | 0 | ||||||||||||||||||
557 | } | - | ||||||||||||||||||
Switch to Source code | Preprocessed file |