From 04bec267e436267f79332814071e807e94543d1a Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Fri, 13 Dec 2019 17:20:31 -0800 Subject: [PATCH] [network-diagnostic] avoid reference binding to null pointer (#4401) --- src/core/thread/network_diagnostic.cpp | 10 +++++----- src/core/thread/network_diagnostic.hpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/thread/network_diagnostic.cpp b/src/core/thread/network_diagnostic.cpp index bd9cd3b7d..e27fa1b4e 100644 --- a/src/core/thread/network_diagnostic.cpp +++ b/src/core/thread/network_diagnostic.cpp @@ -146,21 +146,21 @@ void NetworkDiagnostic::HandleDiagnosticGetResponse(void * aContex otError aResult) { static_cast(aContext)->HandleDiagnosticGetResponse( - *static_cast(aMessage), *static_cast(aMessageInfo), aResult); + static_cast(aMessage), static_cast(aMessageInfo), aResult); } -void NetworkDiagnostic::HandleDiagnosticGetResponse(Coap::Message & aMessage, - const Ip6::MessageInfo &aMessageInfo, +void NetworkDiagnostic::HandleDiagnosticGetResponse(Coap::Message * aMessage, + const Ip6::MessageInfo *aMessageInfo, otError aResult) { VerifyOrExit(aResult == OT_ERROR_NONE); - VerifyOrExit(aMessage.GetCode() == OT_COAP_CODE_CHANGED); + VerifyOrExit(aMessage && aMessage->GetCode() == OT_COAP_CODE_CHANGED); otLogInfoNetDiag("Received diagnostic get response"); if (mReceiveDiagnosticGetCallback) { - mReceiveDiagnosticGetCallback(&aMessage, &aMessageInfo, mReceiveDiagnosticGetCallbackContext); + mReceiveDiagnosticGetCallback(aMessage, aMessageInfo, mReceiveDiagnosticGetCallbackContext); } exit: diff --git a/src/core/thread/network_diagnostic.hpp b/src/core/thread/network_diagnostic.hpp index 6b1a20c79..4d0500c04 100644 --- a/src/core/thread/network_diagnostic.hpp +++ b/src/core/thread/network_diagnostic.hpp @@ -114,7 +114,7 @@ private: otMessage * aMessage, const otMessageInfo *aMessageInfo, otError aResult); - void HandleDiagnosticGetResponse(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo, otError aResult); + void HandleDiagnosticGetResponse(Coap::Message *aMessage, const Ip6::MessageInfo *aMessageInfo, otError aResult); static void HandleDiagnosticGetAnswer(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo); void HandleDiagnosticGetAnswer(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo);