From 59b65749f59b500fe8a6af6a20a993a70bd56b4f Mon Sep 17 00:00:00 2001 From: Manuel Verch Date: Fri, 17 Mar 2023 22:40:08 +0100 Subject: [PATCH] Fix: Sporadig crashes with reboot --- .vscode/extensions.json | 7 ++++--- src/mesh/ReliableRouter.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 4fc84fa78..080e70d08 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,8 +2,9 @@ // See http://go.microsoft.com/fwlink/?LinkId=827846 // for the documentation about the extensions.json format "recommendations": [ - "ms-vscode.cpptools", - "platformio.platformio-ide", - "trunk.io" + "platformio.platformio-ide" ], + "unwantedRecommendations": [ + "ms-vscode.cpptools-extension-pack" + ] } diff --git a/src/mesh/ReliableRouter.cpp b/src/mesh/ReliableRouter.cpp index 774be9c17..7f5c9b7fc 100644 --- a/src/mesh/ReliableRouter.cpp +++ b/src/mesh/ReliableRouter.cpp @@ -164,13 +164,13 @@ bool ReliableRouter::stopRetransmission(GlobalPacketId key) { auto old = findPendingPacket(key); if (old) { + auto p = old->packet; auto numErased = pending.erase(key); assert(numErased == 1); // remove the 'original' (identified by originator and packet->id) from the txqueue and free it - cancelSending(getFrom(old->packet), old->packet->id); - // now free the pooled copy for retransmission too. tryfix for #2228 - if (old->packet) - packetPool.release(old->packet); + cancelSending(getFrom(p), p->id); + // now free the pooled copy for retransmission too + packetPool.release(p); return true; } else return false;