diff --git a/src/mesh/MeshService.cpp b/src/mesh/MeshService.cpp index 650f6882b..ee4ddcd77 100644 --- a/src/mesh/MeshService.cpp +++ b/src/mesh/MeshService.cpp @@ -82,7 +82,7 @@ int MeshService::handleFromRadio(const meshtastic_MeshPacket *mp) } printPacket("Forwarding to phone", mp); - sendToPhone((meshtastic_MeshPacket *)mp); + sendToPhone(packetPool.allocCopy(*mp)); return 0; } @@ -231,7 +231,7 @@ void MeshService::sendToMesh(meshtastic_MeshPacket *p, RxSource src, bool ccToPh } if (ccToPhone) { - sendToPhone(p); + sendToPhone(packetPool.allocCopy(*p)); } } @@ -262,9 +262,8 @@ void MeshService::sendToPhone(meshtastic_MeshPacket *p) releaseToPool(d); } - meshtastic_MeshPacket *copied = packetPool.allocCopy(*p); - perhapsDecode(copied); - assert(toPhoneQueue.enqueue(copied, 0)); + perhapsDecode(p); + assert(toPhoneQueue.enqueue(p, 0)); fromNum++; }