From a61e98ea0f4b22b5206833af4694f0986ad8d157 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Fri, 28 Jul 2017 15:45:10 -0700 Subject: [PATCH] [fuzz] bypass UDP checksum verification in fuzz tests (#2043) --- src/core/net/udp6.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/net/udp6.cpp b/src/core/net/udp6.cpp index 1b38cc43d..791305949 100644 --- a/src/core/net/udp6.cpp +++ b/src/core/net/udp6.cpp @@ -216,7 +216,10 @@ otError Udp::HandleMessage(Message &aMessage, MessageInfo &aMessageInfo) checksum = Ip6::ComputePseudoheaderChecksum(aMessageInfo.GetPeerAddr(), aMessageInfo.GetSockAddr(), payloadLength, kProtoUdp); checksum = aMessage.UpdateChecksum(checksum, aMessage.GetOffset(), payloadLength); + +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION VerifyOrExit(checksum == 0xffff, error = OT_ERROR_DROP); +#endif VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(udpHeader), &udpHeader) == sizeof(udpHeader), error = OT_ERROR_PARSE);