From 5f1ffd2d0c4f43b0c2493eb1bdb7a5fad0f1eb6c Mon Sep 17 00:00:00 2001 From: logan <> Date: Wed, 11 Jun 2014 13:19:53 +0000 Subject: Fix memory leak: free s if calloc fails. (From Jonas Maebe) OK from beck@ --- src/lib/libssl/d1_lib.c | 4 +++- src/lib/libssl/src/ssl/d1_lib.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/libssl/d1_lib.c b/src/lib/libssl/d1_lib.c index 4ee3e36168..c417c295df 100644 --- a/src/lib/libssl/d1_lib.c +++ b/src/lib/libssl/d1_lib.c @@ -104,8 +104,10 @@ dtls1_new(SSL *s) if (!ssl3_new(s)) return (0); - if ((d1 = calloc(1, sizeof *d1)) == NULL) + if ((d1 = calloc(1, sizeof *d1)) == NULL) { + ssl3_free(s); return (0); + } /* d1->handshake_epoch=0; */ diff --git a/src/lib/libssl/src/ssl/d1_lib.c b/src/lib/libssl/src/ssl/d1_lib.c index 4ee3e36168..c417c295df 100644 --- a/src/lib/libssl/src/ssl/d1_lib.c +++ b/src/lib/libssl/src/ssl/d1_lib.c @@ -104,8 +104,10 @@ dtls1_new(SSL *s) if (!ssl3_new(s)) return (0); - if ((d1 = calloc(1, sizeof *d1)) == NULL) + if ((d1 = calloc(1, sizeof *d1)) == NULL) { + ssl3_free(s); return (0); + } /* d1->handshake_epoch=0; */ -- cgit v1.2.3-55-g6feb