From b398f31b64de5162549cedbb5e7d3ae9964e6f61 Mon Sep 17 00:00:00 2001 From: Manuel <71137295+mverch67@users.noreply.github.com> Date: Tue, 14 Mar 2023 22:50:32 +0100 Subject: [PATCH] Fix heap leak mentioned in #2358 (#2359) * Fix heap leak mentioned in #2358 * Additional fix for #2359 --- src/mesh/MeshService.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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++; }