Commit 444ab3ab authored by Matt Caswell's avatar Matt Caswell
Browse files

Add some dummy BIGNUM calls from inside the FIPS provider

parent 636b087e
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -50,6 +50,8 @@ static int dummy_evp_call(OPENSSL_CTX *libctx)
    unsigned int dgstlen = 0;
    unsigned char dgst[SHA256_DIGEST_LENGTH];
    int ret = 0;
    BN_CTX *bnctx = NULL;
    BIGNUM *a = NULL, *b = NULL;

    if (ctx == NULL || sha256 == NULL)
        goto err;
@@ -63,8 +65,25 @@ static int dummy_evp_call(OPENSSL_CTX *libctx)
    if (dgstlen != sizeof(exptd) || memcmp(dgst, exptd, sizeof(exptd)) != 0)
        goto err;

    bnctx = BN_CTX_new_ex(libctx);
    if (bnctx == NULL)
        goto err;
    BN_CTX_start(bnctx);
    a = BN_CTX_get(bnctx);
    b = BN_CTX_get(bnctx);
    if (b == NULL)
        goto err;
    BN_zero(a);
    if (!BN_one(b)
        || !BN_add(a, a, b)
        || BN_cmp(a, b) != 0)
        goto err;
    
    ret = 1;
 err:
    BN_CTX_end(bnctx);
    BN_CTX_free(bnctx);
    
    EVP_MD_CTX_free(ctx);
    EVP_MD_meth_free(sha256);
    return ret;