mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 23:07:59 +01:00
Merge #20289: fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CService
c2cf8a18c2
fuzz: Check for addrv1 compatibility before using addrv1 serializer on CService (practicalswift) Pull request description: Check for addrv1 compatibility before using addrv1 serializer/deserializer on `CService`: Before this patch: ``` $ src/test/fuzz/service_deserialize service_deserialize: test/fuzz/deserialize.cpp:85: void (anonymous namespace)::AssertEqualAfterSerializeDeserialize(const T &, const int) [T = CService]: Assertion `Deserialize<T>(Serialize(obj, version)) == obj' failed. ``` After this patch: ``` $ src/test/fuzz/service_deserialize … ``` Related change: #20247 ACKs for top commit: MarcoFalke: review ACKc2cf8a18c2
Tree-SHA512: dba6ddc60e8ef621011d844281461f1741de08c4af1a2b7156c810af44306cef7ec582de5974752db02ca085cfd23da0296d70b694e59ee262589d829fa0626e
This commit is contained in:
commit
5174b534da
1 changed files with 4 additions and 1 deletions
|
@ -191,7 +191,10 @@ void test_one_input(const std::vector<uint8_t>& buffer)
|
|||
#elif SERVICE_DESERIALIZE
|
||||
CService s;
|
||||
DeserializeFromFuzzingInput(buffer, s);
|
||||
AssertEqualAfterSerializeDeserialize(s);
|
||||
if (s.IsAddrV1Compatible()) {
|
||||
AssertEqualAfterSerializeDeserialize(s);
|
||||
}
|
||||
AssertEqualAfterSerializeDeserialize(s, INIT_PROTO_VERSION | ADDRV2_FORMAT);
|
||||
#elif MESSAGEHEADER_DESERIALIZE
|
||||
CMessageHeader mh;
|
||||
DeserializeFromFuzzingInput(buffer, mh);
|
||||
|
|
Loading…
Add table
Reference in a new issue