Commit 06d3b485 authored by Matt Caswell's avatar Matt Caswell
Browse files

Don't crash if an unrecognised digest is used with dsa_paramgen_md

parent fdb8113d
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -189,9 +189,15 @@ static int pkey_dsa_ctrl_str(EVP_PKEY_CTX *ctx,
                                 NULL);
    }
    if (strcmp(type, "dsa_paramgen_md") == 0) {
        const EVP_MD *md = EVP_get_digestbyname(value);

        if (md == NULL) {
            DSAerr(DSA_F_PKEY_DSA_CTRL_STR, DSA_R_INVALID_DIGEST_TYPE);
            return 0;
        }
        return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN,
                                 EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0,
                                 (void *)EVP_get_digestbyname(value));
                                 (void *)md);
    }
    return -2;
}