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:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
@@ -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
									
								
							
							
						
						
									
										11
									
								
								include/internal/comp.h
									
									
									
									
									
										Normal 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);
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user