Commit 25da47c3 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Fix memory leak.

Always perform nexproto callback argument initialisation in s_server
otherwise we use uninitialised data if -nocert is specified.
parent 4dc40f5e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1890,6 +1890,10 @@ end:
			print_stuff(bio_c_out,con,1);
		SSL_free(con);
		}
#if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG)
	if (next_proto.data)
		OPENSSL_free(next_proto.data);
#endif
	if (ctx != NULL) SSL_CTX_free(ctx);
	if (cert)
		X509_free(cert);
+15 −16
Original line number Diff line number Diff line
@@ -1431,13 +1431,14 @@ bad:
				goto end;
				}
			}
#endif
		}

# ifndef OPENSSL_NO_NEXTPROTONEG
#if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG) 
	if (next_proto_neg_in)
		{
		unsigned short len;
			next_proto.data = next_protos_parse(&len,
				next_proto_neg_in);
		next_proto.data = next_protos_parse(&len, next_proto_neg_in);
		if (next_proto.data == NULL)
			goto end;
		next_proto.len = len;
@@ -1447,8 +1448,6 @@ bad:
		next_proto.data = NULL;
		}
#endif
#endif
		}


	if (s_dcert_file)