This patch fixes a violation of the C aliasing rules that can cause miscompilation with some compiler versions. --- openssl-0.9.8b/crypto/dso/dso_dlfcn.c.orig 2006-10-30 18:21:35.000000000 +0100 +++ openssl-0.9.8b/crypto/dso/dso_dlfcn.c 2006-10-30 18:21:37.000000000 +0100 @@ -237,7 +237,7 @@ static void *dlfcn_bind_var(DSO *dso, co static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname) { void *ptr; - DSO_FUNC_TYPE sym, *tsym = &sym; + DSO_FUNC_TYPE sym; if((dso == NULL) || (symname == NULL)) { @@ -255,7 +255,7 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_NULL_HANDLE); return(NULL); } - *(void **)(tsym) = dlsym(ptr, symname); + sym = dlsym(ptr, symname); if(sym == NULL) { DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE);