From: Dr. Stephen Henson <steve@openssl.org>
Date: Wed, 25 May 2011 15:16:10 +0000 (+0000)
Subject: PR: 2529
X-Git-Tag: OpenSSL-fips-2_0-rc1~389
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fd60dfa0f2a9175f83955d6ad730392aa039aa5b;p=oweals%2Fopenssl.git

PR: 2529
Submitted by: Marcus Meissner <meissner@suse.de>
Reviewed by: steve

Call ssl_new() to reallocate SSL BIO internals if we want to replace
the existing internal SSL structure.
---

diff --git a/ssl/bio_ssl.c b/ssl/bio_ssl.c
index af319af302..eedac8a3fc 100644
--- a/ssl/bio_ssl.c
+++ b/ssl/bio_ssl.c
@@ -348,7 +348,11 @@ static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr)
 		break;
 	case BIO_C_SET_SSL:
 		if (ssl != NULL)
+			{
 			ssl_free(b);
+			if (!ssl_new(b))
+				return 0;
+			}
 		b->shutdown=(int)num;
 		ssl=(SSL *)ptr;
 		((BIO_SSL *)b->ptr)->ssl=ssl;