diff options
Diffstat (limited to 'src/lib/libcrypto/comp/c_zlib.c')
| -rw-r--r-- | src/lib/libcrypto/comp/c_zlib.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/libcrypto/comp/c_zlib.c b/src/lib/libcrypto/comp/c_zlib.c index 8c0876151a..1bd2850d15 100644 --- a/src/lib/libcrypto/comp/c_zlib.c +++ b/src/lib/libcrypto/comp/c_zlib.c | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | #include <string.h> | 3 | #include <string.h> |
| 4 | #include <openssl/objects.h> | 4 | #include <openssl/objects.h> |
| 5 | #include <openssl/comp.h> | 5 | #include <openssl/comp.h> |
| 6 | #include <openssl/err.h> | ||
| 6 | 7 | ||
| 7 | COMP_METHOD *COMP_zlib(void ); | 8 | COMP_METHOD *COMP_zlib(void ); |
| 8 | 9 | ||
| @@ -189,7 +190,17 @@ COMP_METHOD *COMP_zlib(void) | |||
| 189 | if (!zlib_loaded) | 190 | if (!zlib_loaded) |
| 190 | { | 191 | { |
| 191 | #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) | 192 | #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) |
| 192 | zlib_dso = DSO_load(NULL, "ZLIB", NULL, 0); | 193 | zlib_dso = DSO_load(NULL, "ZLIB1", NULL, 0); |
| 194 | if (!zlib_dso) | ||
| 195 | { | ||
| 196 | zlib_dso = DSO_load(NULL, "ZLIB", NULL, 0); | ||
| 197 | if (zlib_dso) | ||
| 198 | { | ||
| 199 | /* Clear the errors from the first failed | ||
| 200 | DSO_load() */ | ||
| 201 | ERR_clear_error(); | ||
| 202 | } | ||
| 203 | } | ||
| 193 | #else | 204 | #else |
| 194 | zlib_dso = DSO_load(NULL, "z", NULL, 0); | 205 | zlib_dso = DSO_load(NULL, "z", NULL, 0); |
| 195 | #endif | 206 | #endif |
