mem leak on error path and error propagation fix
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2559)
This commit is contained in:
parent
b84460ad3a
commit
e0670973d5
3 changed files with 11 additions and 3 deletions
|
@ -887,9 +887,15 @@ static TS_VERIFY_CTX *create_verify_ctx(const char *data, const char *digest,
|
|||
goto err;
|
||||
f = TS_VFY_VERSION | TS_VFY_SIGNER;
|
||||
if (data != NULL) {
|
||||
BIO *out = NULL;
|
||||
|
||||
f |= TS_VFY_DATA;
|
||||
if (TS_VERIFY_CTX_set_data(ctx, BIO_new_file(data, "rb")) == NULL)
|
||||
if ((out = BIO_new_file(data, "rb")) == NULL)
|
||||
goto err;
|
||||
if (TS_VERIFY_CTX_set_data(ctx, out) == NULL) {
|
||||
BIO_free_all(out);
|
||||
goto err;
|
||||
}
|
||||
} else if (digest != NULL) {
|
||||
long imprint_len;
|
||||
unsigned char *hexstr = OPENSSL_hexstr2buf(digest, &imprint_len);
|
||||
|
|
|
@ -254,8 +254,10 @@ static int eckey_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
|
|||
}
|
||||
|
||||
if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_X9_62_id_ecPublicKey), 0,
|
||||
ptype, pval, ep, eplen))
|
||||
ptype, pval, ep, eplen)) {
|
||||
OPENSSL_free(ep);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -1838,7 +1838,7 @@ int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm)
|
|||
if (id < 193 || id > 255) {
|
||||
SSLerr(SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD,
|
||||
SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE);
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE);
|
||||
|
|
Loading…
Reference in a new issue