Fix memory leak in BIO_free if there is no destroy function.
Based on an original patch by Neitrino Photonov <neitrinoph@gmail.com>
PR#3439
(cherry picked from commit 66816c53be)
			
			
This commit is contained in:
		@@ -132,7 +132,7 @@ int BIO_free(BIO *a)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data);
 | 
						CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ((a->method == NULL) || (a->method->destroy == NULL)) return(1);
 | 
						if ((a->method != NULL) && (a->method->destroy != NULL))
 | 
				
			||||||
		a->method->destroy(a);
 | 
							a->method->destroy(a);
 | 
				
			||||||
	OPENSSL_free(a);
 | 
						OPENSSL_free(a);
 | 
				
			||||||
	return(1);
 | 
						return(1);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user