mirror of
https://github.com/openssl/openssl.git
synced 2025-01-21 09:23:33 +08:00
Test for out-of-bounds write when requesting zero bytes from shake
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9433)
This commit is contained in:
parent
a890ef833d
commit
3ce46435e6
@ -407,6 +407,28 @@ static int digest_test_run(EVP_TEST *t)
|
||||
}
|
||||
|
||||
if (EVP_MD_flags(expected->digest) & EVP_MD_FLAG_XOF) {
|
||||
EVP_MD_CTX *mctx_cpy;
|
||||
char dont[] = "touch";
|
||||
|
||||
if (!TEST_ptr(mctx_cpy = EVP_MD_CTX_new())) {
|
||||
goto err;
|
||||
}
|
||||
if (!EVP_MD_CTX_copy(mctx_cpy, mctx)) {
|
||||
EVP_MD_CTX_free(mctx_cpy);
|
||||
goto err;
|
||||
}
|
||||
if (!EVP_DigestFinalXOF(mctx_cpy, (unsigned char *)dont, 0)) {
|
||||
EVP_MD_CTX_free(mctx_cpy);
|
||||
t->err = "DIGESTFINALXOF_ERROR";
|
||||
goto err;
|
||||
}
|
||||
if (!TEST_str_eq(dont, "touch")) {
|
||||
EVP_MD_CTX_free(mctx_cpy);
|
||||
t->err = "DIGESTFINALXOF_ERROR";
|
||||
goto err;
|
||||
}
|
||||
EVP_MD_CTX_free(mctx_cpy);
|
||||
|
||||
got_len = expected->output_len;
|
||||
if (!EVP_DigestFinalXOF(mctx, got, got_len)) {
|
||||
t->err = "DIGESTFINALXOF_ERROR";
|
||||
|
Loading…
Reference in New Issue
Block a user