Preventing a memory leak.
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/15731)
goto err;
}
OSSL_DECODER_CTX_free(ctx);
+ return pkey;
} else if (ptype == V_ASN1_OBJECT) {
const ASN1_OBJECT *poid = pval;
char groupname[OSSL_MAX_NAME_SIZE];
}
if (EVP_PKEY_paramgen(pctx, &pkey) <= 0)
goto err;
- } else {
- ERR_raise(ERR_LIB_CMS, CMS_R_DECODE_ERROR);
- goto err;
+ EVP_PKEY_CTX_free(pctx);
+ return pkey;
}
- return pkey;
+ ERR_raise(ERR_LIB_CMS, CMS_R_DECODE_ERROR);
+ return NULL;
err:
EVP_PKEY_free(pkey);