diff options
author | logan <> | 2014-06-11 13:19:53 +0000 |
---|---|---|
committer | logan <> | 2014-06-11 13:19:53 +0000 |
commit | 5f1ffd2d0c4f43b0c2493eb1bdb7a5fad0f1eb6c (patch) | |
tree | 128fccccbd8599c03792ce456bbb15085eba9fe6 /src | |
parent | 596d60dba394f9f2eed0d9a577bb09bcd070cc4d (diff) | |
download | openbsd-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.c | 4 | ||||
-rw-r--r-- | 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) | |||
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 | ||