summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2020-10-02 01:06:12 +0200
committerPauli <paul.dale@oracle.com>2020-10-07 08:58:25 +1000
commit7455f247e6f9d621fa79ae3af1588df23078fb11 (patch)
tree5e199e793b37b478b532b8589b8d5e75ddae2309 /apps
parentae9bcce2ab57d19119a85788eb48f8e8ba8ed3ee (diff)
Avoid memory leak of parent on allocation failure for child structure
Reviewed-by: Ben Kaduk <kaduk@mit.edu> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/13055) (cherry picked from commit a21db568bf3d0ab4194fd3e0917ee982f1fc8bfd)
Diffstat (limited to 'apps')
-rw-r--r--apps/cms.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/cms.c b/apps/cms.c
index 15edd67dbe..60691f1468 100644
--- a/apps/cms.c
+++ b/apps/cms.c
@@ -545,9 +545,11 @@ int cms_main(int argc, char **argv)
if (key_param == NULL || key_param->idx != keyidx) {
cms_key_param *nparam;
nparam = app_malloc(sizeof(*nparam), "key param buffer");
- nparam->idx = keyidx;
- if ((nparam->param = sk_OPENSSL_STRING_new_null()) == NULL)
+ if ((nparam->param = sk_OPENSSL_STRING_new_null()) == NULL) {
+ OPENSSL_free(nparam);
goto end;
+ }
+ nparam->idx = keyidx;
nparam->next = NULL;
if (key_first == NULL)
key_first = nparam;