buflen = bio_to_mem(&buf, maxlen, in);
if (buflen <= 0) {
BIO_printf(bio_err, "Read error in %s\n", file);
- goto end;
+ return ret;
}
if (sigin != NULL) {
res = EVP_DigestVerify(ctx, sigin, siglen, buf, buflen);
return 0;
vinfo = key->vinfo;
- if ((pubenc != NULL && publen != vinfo->pubkey_bytes)
- || (mdctx = EVP_MD_CTX_new()) == NULL)
+ if (pubenc != NULL && publen != vinfo->pubkey_bytes)
return 0;
if (ossl_ml_kem_have_seed(key)) {
return 0;
}
+ if ((mdctx = EVP_MD_CTX_new()) == NULL)
+ return 0;
+
/*
* Data derived from (d, z) defaults secret, and to avoid side-channel
* leaks should not influence control flow.
EVP_MD_CTX *mdctx;
int ret = 0;
- if (!ossl_ml_kem_have_pubkey(key))
+ if (key == NULL || !ossl_ml_kem_have_pubkey(key))
return 0;
vinfo = key->vinfo;
if (ctext == NULL || clen != vinfo->ctext_bytes
|| shared_secret == NULL || slen != ML_KEM_SHARED_SECRET_BYTES
|| entropy == NULL || elen != ML_KEM_RANDOM_BYTES
- || key == NULL || (mdctx = EVP_MD_CTX_new()) == NULL)
+ || (mdctx = EVP_MD_CTX_new()) == NULL)
return 0;
/*
* Data derived from the encap entropy defaults secret, and to avoid
if (shared_secret == NULL || slen != ML_KEM_SHARED_SECRET_BYTES
|| ctext == NULL || clen != vinfo->ctext_bytes
|| (mdctx = EVP_MD_CTX_new()) == NULL) {
- RAND_bytes_ex(key->libctx, shared_secret,
- ML_KEM_SHARED_SECRET_BYTES, vinfo->secbits);
+ (void)RAND_bytes_ex(key->libctx, shared_secret,
+ ML_KEM_SHARED_SECRET_BYTES, vinfo->secbits);
return 0;
}
#if defined(OPENSSL_CONSTANT_TIME_VALIDATION)
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
ML_KEM_KEY *key;
uint8_t *nopub = NULL;
- uint8_t *seed = gctx->seed;
+ uint8_t *seed;
int genok = 0;
if (gctx == NULL
|| (gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) ==
OSSL_KEYMGMT_SELECT_PUBLIC_KEY)
return NULL;
+ seed = gctx->seed;
key = ml_kem_new(gctx->provctx, gctx->propq, gctx->evp_type);
if (key == NULL)
return NULL;
{
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
MLX_KEY *key;
- char *propq = gctx->propq;
+ char *propq;
if (gctx == NULL
|| (gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) ==
return NULL;
/* Lose ownership of propq */
+ propq = gctx->propq;
gctx->propq = NULL;
if ((key = mlx_kem_key_new(gctx->evp_type, gctx->libctx, propq)) == NULL)
return NULL;
int ret = 0;
size_t ix;
- if ((collect = sk_TLS_GROUP_IX_new(tls_group_ix_cmp)) == NULL)
- return 0;
-
if (grps == NULL || out == NULL)
return 0;
+ if ((collect = sk_TLS_GROUP_IX_new(tls_group_ix_cmp)) == NULL)
+ return 0;
for (ix = 0; ix < num; ++ix, ++grps) {
if (grps->mintls > 0 && max_proto_version > 0
&& grps->mintls > max_proto_version)
if (sk_OPENSSL_CSTRING_push(out, gix->grp->tlsname) <= 0)
goto end;
}
- return 1;
+ ret = 1;
end:
sk_TLS_GROUP_IX_pop_free(collect, free_wrapper);
|| !TEST_int_eq(EVP_PKEY_keygen_init(ctx), 1)
|| !TEST_int_eq(EVP_PKEY_CTX_set_params(ctx, params), 1)
|| !TEST_int_eq(EVP_PKEY_generate(ctx, &pkey), 1))
- goto err;
-err:
+ pkey = NULL;
+
EVP_PKEY_CTX_free(ctx);
return pkey;
}