diff options
author | FdaSilvaYY <fdasilvayy@gmail.com> | 2016-01-21 23:10:29 +0100 |
---|---|---|
committer | Kurt Roeckx <kurt@roeckx.be> | 2016-01-24 00:47:41 +0100 |
commit | 98637bd30e06529e52b5f83bde32c8bd2d620e06 (patch) | |
tree | 6da7e6cb15812fadb4d54d0207150ecec2708b66 /crypto | |
parent | 3eb70c5ebae6f2b5fd6034ed5af14910c8479688 (diff) | |
download | openssl-98637bd30e06529e52b5f83bde32c8bd2d620e06.tar.gz |
Fix two possible leaks.
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #580
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/dso/dso_lib.c | 1 | ||||
-rw-r--r-- | crypto/engine/eng_dyn.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/crypto/dso/dso_lib.c b/crypto/dso/dso_lib.c index cc29ca4e4d..dfa738aa0a 100644 --- a/crypto/dso/dso_lib.c +++ b/crypto/dso/dso_lib.c @@ -122,6 +122,7 @@ DSO *DSO_new_method(DSO_METHOD *meth) ret->meth = meth; ret->references = 1; if ((ret->meth->init != NULL) && !ret->meth->init(ret)) { + sk_void_free(ret->meth_data); OPENSSL_free(ret); ret = NULL; } diff --git a/crypto/engine/eng_dyn.c b/crypto/engine/eng_dyn.c index d19cab2ecf..bdd0a1aeb6 100644 --- a/crypto/engine/eng_dyn.c +++ b/crypto/engine/eng_dyn.c @@ -231,6 +231,8 @@ static int dynamic_set_data_ctx(ENGINE *e, dynamic_data_ctx **ctx) * If we lost the race to set the context, c is non-NULL and *ctx is the * context of the thread that won. */ + if (c) + sk_OPENSSL_STRING_free(c->dirs); OPENSSL_free(c); return 1; } |