projects
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
77db140
)
Prevent aliasing warning
author
Dr. Stephen Henson
<steve@openssl.org>
Sun, 4 Oct 2009 14:02:22 +0000
(14:02 +0000)
committer
Dr. Stephen Henson
<steve@openssl.org>
Sun, 4 Oct 2009 14:02:22 +0000
(14:02 +0000)
crypto/dso/dso_dlfcn.c
patch
|
blob
|
history
diff --git
a/crypto/dso/dso_dlfcn.c
b/crypto/dso/dso_dlfcn.c
index ed0b2c80df1ad382fa6a334b68e233c615734ff7..7da3f7892864f11bcb39bbc16f20facdd1a663d3 100644
(file)
--- a/
crypto/dso/dso_dlfcn.c
+++ b/
crypto/dso/dso_dlfcn.c
@@
-257,7
+257,10
@@
static void *dlfcn_bind_var(DSO *dso, const char *symname)
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
{
void *ptr;
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
{
void *ptr;
- DSO_FUNC_TYPE sym, *tsym = &sym;
+ union {
+ DSO_FUNC_TYPE sym;
+ void *dlret;
+ } u;
if((dso == NULL) || (symname == NULL))
{
if((dso == NULL) || (symname == NULL))
{
@@
-275,14
+278,14
@@
static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_NULL_HANDLE);
return(NULL);
}
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_NULL_HANDLE);
return(NULL);
}
-
*(void **)(tsym)
= dlsym(ptr, symname);
- if(
sym
== NULL)
+
u.dlret
= dlsym(ptr, symname);
+ if(
u.dlret
== NULL)
{
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE);
ERR_add_error_data(4, "symname(", symname, "): ", dlerror());
return(NULL);
}
{
DSOerr(DSO_F_DLFCN_BIND_FUNC,DSO_R_SYM_FAILURE);
ERR_add_error_data(4, "symname(", symname, "): ", dlerror());
return(NULL);
}
- return
(sym)
;
+ return
u.sym
;
}
static char *dlfcn_merger(DSO *dso, const char *filespec1,
}
static char *dlfcn_merger(DSO *dso, const char *filespec1,