Deprecate COMP_zlib_cleanup() and make it a no-op

COMP_zlib_cleanup() should not be called expicitly - we should leave
auto-deinit to clean this up instead.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Matt Caswell 2016-04-04 17:19:06 +01:00
parent 01d358a3ab
commit 02a247e0fa
4 changed files with 21 additions and 7 deletions

View File

@ -56,7 +56,7 @@
#include <stdlib.h>
#include <string.h>
#include <openssl/objects.h>
#include <openssl/comp.h>
#include "internal/comp.h"
#include <openssl/err.h>
#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)

View File

@ -64,7 +64,7 @@
#include <internal/conf.h>
#include <internal/async.h>
#include <internal/engine.h>
#include <openssl/comp.h>
#include <internal/comp.h>
#include <internal/err.h>
#include <stdlib.h>
#include <assert.h>
@ -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

11
include/internal/comp.h Normal file
View File

@ -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 <openssl/comp.h>
void comp_zlib_cleanup_internal(void);

View File

@ -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