diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-07-03 16:36:10 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-07-03 16:36:10 +0000 |
commit | 25da47c3c8862cf82fa1e7f32fed9b6c4693ac6e (patch) | |
tree | 2df5632947f04ad34980cedafaefc6b037c10bf6 /apps/s_server.c | |
parent | 4dc40f5eec7bbd583e87c391151612128bba12f4 (diff) |
Fix memory leak.
Always perform nexproto callback argument initialisation in s_server
otherwise we use uninitialised data if -nocert is specified.
Diffstat (limited to 'apps/s_server.c')
-rw-r--r-- | apps/s_server.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/apps/s_server.c b/apps/s_server.c index 7125afafc3..f15cd20914 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -1431,25 +1431,24 @@ bad: goto end; } } - -# ifndef OPENSSL_NO_NEXTPROTONEG - if (next_proto_neg_in) - { - unsigned short len; - next_proto.data = next_protos_parse(&len, - next_proto_neg_in); - if (next_proto.data == NULL) - goto end; - next_proto.len = len; - } - else - { - next_proto.data = NULL; - } -# endif #endif } +#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); + if (next_proto.data == NULL) + goto end; + next_proto.len = len; + } + else + { + next_proto.data = NULL; + } +#endif + if (s_dcert_file) { |