diff --git a/crypto/comp/c_zlib.c b/crypto/comp/c_zlib.c index 68b9da78be..e16fbbb4ef 100644 --- a/crypto/comp/c_zlib.c +++ b/crypto/comp/c_zlib.c @@ -56,7 +56,7 @@ #include #include #include -#include +#include "internal/comp.h" #include #include "internal/cryptlib_int.h" #include "internal/bio.h" @@ -282,7 +282,7 @@ COMP_METHOD *COMP_zlib(void) zlib_loaded++; if (!OPENSSL_init_crypto(OPENSSL_INIT_ZLIB, NULL)) { - COMP_zlib_cleanup(); + comp_zlib_cleanup_internal(); return meth; } if (zlib_loaded) @@ -297,7 +297,7 @@ COMP_METHOD *COMP_zlib(void) return (meth); } -void COMP_zlib_cleanup(void) +void comp_zlib_cleanup_internal(void) { #ifdef ZLIB_SHARED if (zlib_dso != NULL) diff --git a/crypto/init.c b/crypto/init.c index 4d28e31ace..fe1ecd876c 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -64,7 +64,7 @@ #include #include #include -#include +#include #include #include #include @@ -427,9 +427,9 @@ void OPENSSL_cleanup(void) if (zlib_inited) { #ifdef OPENSSL_INIT_DEBUG fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: " - "COMP_zlib_cleanup()\n"); + "comp_zlib_cleanup_internal()\n"); #endif - COMP_zlib_cleanup(); + comp_zlib_cleanup_internal(); } #endif diff --git a/include/internal/comp.h b/include/internal/comp.h new file mode 100644 index 0000000000..8232574635 --- /dev/null +++ b/include/internal/comp.h @@ -0,0 +1,11 @@ +/* + * Licensed under the OpenSSL licenses, (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.openssl.org/source/license.html + * or in the file LICENSE in the source distribution. + */ + +#include + +void comp_zlib_cleanup_internal(void); diff --git a/include/openssl/comp.h b/include/openssl/comp.h index 9fa71efd55..bfdadce1a1 100644 --- a/include/openssl/comp.h +++ b/include/openssl/comp.h @@ -79,7 +79,10 @@ int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, unsigned char *in, int ilen); COMP_METHOD *COMP_zlib(void); -void COMP_zlib_cleanup(void); + +#if OPENSSL_API_COMPAT < 0x10100000L +#define COMP_zlib_cleanup() +#endif # ifdef HEADER_BIO_H # ifdef ZLIB