[ip6] free message if error occurred in Ip6::SendRaw() (#2063)

This commit is contained in:
Buke Po
2017-08-04 08:49:11 -07:00
committed by Jonathan Hui
parent e98ccb8986
commit 86e1f2a4d4
+8
View File
@@ -664,6 +664,7 @@ otError Ip6::SendRaw(Message &aMessage, int8_t aInterfaceId)
otError error = OT_ERROR_NONE;
Header header;
MessageInfo messageInfo;
bool freed = false;
SuccessOrExit(error = header.Init(aMessage));
@@ -679,8 +680,15 @@ otError Ip6::SendRaw(Message &aMessage, int8_t aInterfaceId)
}
error = HandleDatagram(aMessage, NULL, aInterfaceId, NULL, true);
freed = true;
exit:
if (!freed)
{
aMessage.Free();
}
return error;
}