summaryrefslogtreecommitdiff
path: root/zto/node/OutboundMulticast.cpp
diff options
context:
space:
mode:
authorJoseph Henry <[email protected]>2017-03-28 18:56:38 -0700
committerJoseph Henry <[email protected]>2017-03-28 18:56:38 -0700
commitbd3b07e00a90502d220cb83e2d864e279b3c4b60 (patch)
treed810f60cbc94077b34c97a6979dc3f6f2dae19e2 /zto/node/OutboundMulticast.cpp
parentb1e83a236e13dfef446e5e296442a2651af7549d (diff)
Updated core for tptr support0.9.0
Diffstat (limited to 'zto/node/OutboundMulticast.cpp')
-rw-r--r--zto/node/OutboundMulticast.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/zto/node/OutboundMulticast.cpp b/zto/node/OutboundMulticast.cpp
index 36dc41f..285bfa5 100644
--- a/zto/node/OutboundMulticast.cpp
+++ b/zto/node/OutboundMulticast.cpp
@@ -85,16 +85,18 @@ void OutboundMulticast::init(
memcpy(_frameData,payload,_frameLen);
}
-void OutboundMulticast::sendOnly(const RuntimeEnvironment *RR,const Address &toAddr)
+void OutboundMulticast::sendOnly(const RuntimeEnvironment *RR,void *tPtr,const Address &toAddr)
{
const SharedPtr<Network> nw(RR->node->network(_nwid));
const Address toAddr2(toAddr);
- if ((nw)&&(nw->filterOutgoingPacket(true,RR->identity.address(),toAddr2,_macSrc,_macDest,_frameData,_frameLen,_etherType,0))) {
+ if ((nw)&&(nw->filterOutgoingPacket(tPtr,true,RR->identity.address(),toAddr2,_macSrc,_macDest,_frameData,_frameLen,_etherType,0))) {
//TRACE(">>MC %.16llx -> %s",(unsigned long long)this,toAddr.toString().c_str());
_packet.newInitializationVector();
_packet.setDestination(toAddr2);
RR->node->expectReplyTo(_packet.packetId());
- RR->sw->send(_packet,true);
+
+ Packet tmp(_packet); // make a copy of packet so as not to garble the original -- GitHub issue #461
+ RR->sw->send(tPtr,tmp,true);
}
}