diff --git a/src/core/border_router/dhcp6_pd_client.cpp b/src/core/border_router/dhcp6_pd_client.cpp index 1c8f22d11..1f756e83c 100644 --- a/src/core/border_router/dhcp6_pd_client.cpp +++ b/src/core/border_router/dhcp6_pd_client.cpp @@ -198,9 +198,9 @@ void Dhcp6PdClient::SendMessage(void) { static const uint16_t kRequestedOptions[] = {BigEndian::HostSwap16(Option::kSolMaxRt)}; + MsgType msgType = kMsgTypeNone; OwnedPtr message; Header header; - MsgType msgType; Ip6::Address dstAddr; switch (mState) @@ -226,6 +226,8 @@ void Dhcp6PdClient::SendMessage(void) ExitNow(); } + VerifyOrExit(msgType != kMsgTypeNone); + if (!mRetxTracker.ShouldRetx()) { // Message exchanges can optionally define limits: A maximum diff --git a/src/core/net/dhcp6_types.hpp b/src/core/net/dhcp6_types.hpp index a583ff554..245a1ba00 100644 --- a/src/core/net/dhcp6_types.hpp +++ b/src/core/net/dhcp6_types.hpp @@ -63,6 +63,7 @@ constexpr uint16_t kDhcpServerPort = 547; ///< DHCP Server port number. */ enum MsgType : uint8_t { + kMsgTypeNone = 0, ///< Unused message type (reserved). kMsgTypeSolicit = 1, ///< Solicit message (client sends to locate servers). kMsgTypeAdvertise = 2, ///< Advertise message (server sends to indicate it is available). kMsgTypeRequest = 3, ///< Request message (client sends to request config parameters).