summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlogan <>2014-06-11 13:19:53 +0000
committerlogan <>2014-06-11 13:19:53 +0000
commit5f1ffd2d0c4f43b0c2493eb1bdb7a5fad0f1eb6c (patch)
tree128fccccbd8599c03792ce456bbb15085eba9fe6 /src
parent596d60dba394f9f2eed0d9a577bb09bcd070cc4d (diff)
downloadopenbsd-5f1ffd2d0c4f43b0c2493eb1bdb7a5fad0f1eb6c.tar.gz
openbsd-5f1ffd2d0c4f43b0c2493eb1bdb7a5fad0f1eb6c.tar.bz2
openbsd-5f1ffd2d0c4f43b0c2493eb1bdb7a5fad0f1eb6c.zip
Fix memory leak: free s if calloc fails.
(From Jonas Maebe) OK from beck@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/d1_lib.c4
-rw-r--r--src/lib/libssl/src/ssl/d1_lib.c4
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)
104 104
105 if (!ssl3_new(s)) 105 if (!ssl3_new(s))
106 return (0); 106 return (0);
107 if ((d1 = calloc(1, sizeof *d1)) == NULL) 107 if ((d1 = calloc(1, sizeof *d1)) == NULL) {
108 ssl3_free(s);
108 return (0); 109 return (0);
110 }
109 111
110 /* d1->handshake_epoch=0; */ 112 /* d1->handshake_epoch=0; */
111 113
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)
104 104
105 if (!ssl3_new(s)) 105 if (!ssl3_new(s))
106 return (0); 106 return (0);
107 if ((d1 = calloc(1, sizeof *d1)) == NULL) 107 if ((d1 = calloc(1, sizeof *d1)) == NULL) {
108 ssl3_free(s);
108 return (0); 109 return (0);
110 }
109 111
110 /* d1->handshake_epoch=0; */ 112 /* d1->handshake_epoch=0; */
111 113