Some misc return value checks
Reviewed-by: Rich Salz <rsalz@openssl.org>
if ((offset_count = BN_CTX_get(ctx)) == NULL)
goto err;
if ((offset_count = BN_CTX_get(ctx)) == NULL)
goto err;
- BN_add_word(offset_count, prime_offset_count);
+ if (!BN_add_word(offset_count, prime_offset_count))
+ goto err;
loop:
if (!BN_rand(rnd, bits - prime_multiplier_bits, 0, 1))
loop:
if (!BN_rand(rnd, bits - prime_multiplier_bits, 0, 1))
if (!BN_rand_range(offset_index, offset_count))
goto err;
if (!BN_rand_range(offset_index, offset_count))
goto err;
- BN_mul_word(rnd, prime_multiplier);
- BN_add_word(rnd, prime_offsets[BN_get_word(offset_index)]);
+ if (!BN_mul_word(rnd, prime_multiplier)
+ || !BN_add_word(rnd, prime_offsets[BN_get_word(offset_index)]))
+ goto err;
/* we now have a random number 'rand' to test. */
/* we now have a random number 'rand' to test. */
l += *a - '0';
a++;
if (++j == BN_DEC_NUM) {
l += *a - '0';
a++;
if (++j == BN_DEC_NUM) {
- BN_mul_word(ret, BN_DEC_CONV);
- BN_add_word(ret, l);
+ if (!BN_mul_word(ret, BN_DEC_CONV)
+ || !BN_add_word(ret, l))
+ goto err;
OPENSSL_assert(l <= sizeof(iv));
i = ASN1_TYPE_get_int_octetstring(type, &num, iv, l);
if (i != (int)l)
OPENSSL_assert(l <= sizeof(iv));
i = ASN1_TYPE_get_int_octetstring(type, &num, iv, l);
if (i != (int)l)
key_bits = rc2_magic_to_meth((int)num);
if (!key_bits)
key_bits = rc2_magic_to_meth((int)num);
if (!key_bits)
if (i > 0 && !EVP_CipherInit_ex(c, NULL, NULL, NULL, iv, -1))
return -1;
EVP_CIPHER_CTX_ctrl(c, EVP_CTRL_SET_RC2_KEY_BITS, key_bits, NULL);
if (i > 0 && !EVP_CipherInit_ex(c, NULL, NULL, NULL, iv, -1))
return -1;
EVP_CIPHER_CTX_ctrl(c, EVP_CTRL_SET_RC2_KEY_BITS, key_bits, NULL);
- EVP_CIPHER_CTX_set_key_length(c, key_bits / 8);
+ if (EVP_CIPHER_CTX_set_key_length(c, key_bits / 8) <= 0)
+ return -1;
}
static int rc2_set_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
}
static int rc2_set_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
goto err;
if (!EVP_DigestFinal_ex(mdc, md_data, &md_len))
goto err;
goto err;
if (!EVP_DigestFinal_ex(mdc, md_data, &md_len))
goto err;
- ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
+ if (!ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len))
+ goto err;
}
if (!PKCS7_is_detached(p7)) {
}
if (!PKCS7_is_detached(p7)) {
SSLerr(SSL_F_SSL3_FINAL_FINISH_MAC, ERR_R_MALLOC_FAILURE);
return 0;
}
SSLerr(SSL_F_SSL3_FINAL_FINISH_MAC, ERR_R_MALLOC_FAILURE);
return 0;
}
- EVP_MD_CTX_copy_ex(ctx, s->s3->handshake_dgst);
+ if (!EVP_MD_CTX_copy_ex(ctx, s->s3->handshake_dgst)) {
+ SSLerr(SSL_F_SSL3_FINAL_FINISH_MAC, ERR_R_INTERNAL_ERROR);
+ return 0;
+ }
ret = EVP_MD_CTX_size(ctx);
if (ret < 0) {
ret = EVP_MD_CTX_size(ctx);
if (ret < 0) {