mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
merge bitcoin#21185: Remove expensive and redundant muhash from crypto fuzz target
This commit is contained in:
parent
32a3ed3b60
commit
bf15aad73f
@ -4,7 +4,6 @@
|
||||
|
||||
#include <crypto/hmac_sha256.h>
|
||||
#include <crypto/hmac_sha512.h>
|
||||
#include <crypto/muhash.h>
|
||||
#include <crypto/ripemd160.h>
|
||||
#include <crypto/sha1.h>
|
||||
#include <crypto/sha256.h>
|
||||
@ -40,7 +39,6 @@ FUZZ_TARGET(crypto)
|
||||
CSHA512 sha512;
|
||||
SHA3_256 sha3;
|
||||
CSipHasher sip_hasher{fuzzed_data_provider.ConsumeIntegral<uint64_t>(), fuzzed_data_provider.ConsumeIntegral<uint64_t>()};
|
||||
MuHash3072 muhash;
|
||||
|
||||
while (--limit_max_ops >= 0 && fuzzed_data_provider.ConsumeBool()) {
|
||||
CallOneOf(
|
||||
@ -67,12 +65,6 @@ FUZZ_TARGET(crypto)
|
||||
(void)Hash160(data);
|
||||
(void)Hash160(data.begin(), data.end());
|
||||
(void)sha512.Size();
|
||||
|
||||
if (fuzzed_data_provider.ConsumeBool()) {
|
||||
muhash *= MuHash3072(data);
|
||||
} else {
|
||||
muhash /= MuHash3072(data);
|
||||
}
|
||||
},
|
||||
[&] {
|
||||
(void)hash160.Reset();
|
||||
@ -82,7 +74,6 @@ FUZZ_TARGET(crypto)
|
||||
(void)sha256.Reset();
|
||||
(void)sha3.Reset();
|
||||
(void)sha512.Reset();
|
||||
muhash = MuHash3072();
|
||||
},
|
||||
[&] {
|
||||
CallOneOf(
|
||||
@ -126,10 +117,6 @@ FUZZ_TARGET(crypto)
|
||||
[&] {
|
||||
data.resize(SHA3_256::OUTPUT_SIZE);
|
||||
sha3.Finalize(data);
|
||||
},
|
||||
[&] {
|
||||
uint256 out;
|
||||
muhash.Finalize(out);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -41,6 +41,11 @@ FUZZ_TARGET(muhash)
|
||||
muhash.Finalize(out2);
|
||||
|
||||
assert(out == out2);
|
||||
MuHash3072 muhash3;
|
||||
muhash3 *= muhash;
|
||||
uint256 out3;
|
||||
muhash3.Finalize(out3);
|
||||
assert(out == out3);
|
||||
|
||||
// Test that removing all added elements brings the object back to it's initial state
|
||||
muhash /= muhash;
|
||||
@ -50,4 +55,9 @@ FUZZ_TARGET(muhash)
|
||||
muhash2.Finalize(out2);
|
||||
|
||||
assert(out == out2);
|
||||
|
||||
muhash3.Remove(data);
|
||||
muhash3.Remove(data2);
|
||||
muhash3.Finalize(out3);
|
||||
assert(out == out3);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user