mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 23:09:44 -04:00
Merge #10409: [tests] Add fuzz testing for BlockTransactions and BlockTransactionsRequest
fd3a2f3
[tests] Add fuzz testing for BlockTransactions and BlockTransactionsRequest (practicalswift)
Pull request description:
The `BlockTransactions` deserialization code is reachable with tainted data via `ProcessMessage(…, "BLOCKTXN", vRecv [tainted], …)`.
The same thing applies to `BlockTransactionsRequest` which is reachable via `"GETBLOCKTXN"`.
Tree-SHA512: 64560ea344bc6145b940472f99866b808725745b060dedfb315be400bd94e55399f50b982149645bd7af7ed9935fd28751d7daf0d3f94a8e2ed3bc52e3325ffb
This commit is contained in:
commit
b5545d8df9
1 changed files with 23 additions and 0 deletions
|
@ -19,6 +19,7 @@
|
||||||
#include "undo.h"
|
#include "undo.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "pubkey.h"
|
#include "pubkey.h"
|
||||||
|
#include "blockencodings.h"
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
@ -45,6 +46,8 @@ enum TEST_ID {
|
||||||
CBLOOMFILTER_DESERIALIZE,
|
CBLOOMFILTER_DESERIALIZE,
|
||||||
CDISKBLOCKINDEX_DESERIALIZE,
|
CDISKBLOCKINDEX_DESERIALIZE,
|
||||||
CTXOUTCOMPRESSOR_DESERIALIZE,
|
CTXOUTCOMPRESSOR_DESERIALIZE,
|
||||||
|
BLOCKTRANSACTIONS_DESERIALIZE,
|
||||||
|
BLOCKTRANSACTIONSREQUEST_DESERIALIZE,
|
||||||
TEST_ID_END
|
TEST_ID_END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -245,6 +248,26 @@ int test_one_input(std::vector<uint8_t> buffer) {
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case BLOCKTRANSACTIONS_DESERIALIZE:
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
BlockTransactions bt;
|
||||||
|
ds >> bt;
|
||||||
|
} catch (const std::ios_base::failure& e) {return 0;}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case BLOCKTRANSACTIONSREQUEST_DESERIALIZE:
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
BlockTransactionsRequest btr;
|
||||||
|
ds >> btr;
|
||||||
|
} catch (const std::ios_base::failure& e) {return 0;}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue