diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index 078b65b1d..8d6e13c4e 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -2532,7 +2532,9 @@ Error Mle::SendLinkMetricsManagementResponse(const Ip6::Address &aDestination, L SuccessOrExit(error = message->Append(aStatus)); SuccessOrExit(error = SendMessage(*message, aDestination)); + exit: + FreeMessageOnError(message, error); return error; } #endif @@ -2555,7 +2557,9 @@ Error Mle::SendLinkProbe(const Ip6::Address &aDestination, uint8_t aSeriesId, ui SuccessOrExit(error = message->AppendBytes(aBuf, aLength)); SuccessOrExit(error = SendMessage(*message, aDestination)); + exit: + FreeMessageOnError(message, error); return error; } #endif @@ -4495,6 +4499,7 @@ Error Mle::SendLinkMetricsManagementRequest(const Ip6::Address &aDestination, co SuccessOrExit(error = SendMessage(*message, aDestination)); exit: + FreeMessageOnError(message, error); return error; } #endif