From 6a3cc3261346aa8ac33c4feff1324a7390b50cc1 Mon Sep 17 00:00:00 2001 From: sh123 Date: Tue, 26 Oct 2021 16:18:49 +0300 Subject: [PATCH] Append \0 in receive --- loraprs_service.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/loraprs_service.cpp b/loraprs_service.cpp index d8416e2..0452ded 100644 --- a/loraprs_service.cpp +++ b/loraprs_service.cpp @@ -508,8 +508,12 @@ void Service::processIncomingRawPacketAsServer(const byte *packet, int packetLen AX25::Payload payload(packet, packetLength); // try to parse as text for clients, who submit plain text - if (!payload.IsValid() && config_.EnableTextPackets && packet[packetLength - 1] == '\0') { - payload = AX25::Payload(String((char*)packet)); + if (!payload.IsValid() && config_.EnableTextPackets) { + char buf[CfgMaxAX25PayloadSize]; + int cpySize = packetLength > CfgMaxAX25PayloadSize ? CfgMaxAX25PayloadSize : packetLength; + memcpy(buf, packet, cpySize); + buf[cpySize-1] = '\0'; + payload = AX25::Payload(String((char*)buf)); } if (payload.IsValid()) {