Mostly working, but not complete, port of openssl
[fedora-mingw.git] / openssl / openssl-0.9.8b-aliasing-bug.patch
diff --git a/openssl/openssl-0.9.8b-aliasing-bug.patch b/openssl/openssl-0.9.8b-aliasing-bug.patch
new file mode 100644 (file)
index 0000000..8d3b36a
--- /dev/null
@@ -0,0 +1,24 @@
+
+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);