1 |
|
2 |
This patch fixes a violation of the C aliasing rules that can cause |
3 |
miscompilation with some compiler versions. |
4 |
|
5 |
--- openssl-0.9.8b/crypto/dso/dso_dlfcn.c.orig 2006-10-30 18:21:35.000000000 +0100 |
6 |
+++ openssl-0.9.8b/crypto/dso/dso_dlfcn.c 2006-10-30 18:21:37.000000000 +0100 |
7 |
@@ -237,7 +237,7 @@ static void *dlfcn_bind_var(DSO *dso, co |
8 |
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname) |
9 |
{ |
10 |
void *ptr; |
11 |
- DSO_FUNC_TYPE sym, *tsym = &sym; |
12 |
+ DSO_FUNC_TYPE sym; |
13 |
|
14 |
if((dso == NULL) || (symname == NULL)) |
15 |
{ |
16 |
@@ -255,7 +255,7 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO |
17 |
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_NULL_HANDLE); |
18 |
return(NULL); |
19 |
} |
20 |
- *(void **)(tsym) = dlsym(ptr, symname); |
21 |
+ sym = dlsym(ptr, symname); |
22 |
if(sym == NULL) |
23 |
{ |
24 |
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE); |