From 0d63e53a770f14b3e662c2630fc0de64ec808e4f Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 24 Mar 2026 13:52:13 +0700 Subject: [PATCH] apply sanity checks for "smart upload" --- armsrc/appmain.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 0f9832fb5..97c7544ce 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -2443,6 +2443,15 @@ static void PacketReceived(PacketCommandNG *packet) { } PACKED; struct p *payload = (struct p *) packet->data.asBytes; uint8_t *mem = BigBuf_get_addr(); + + // sanity checks + if (payload->bytes_in_packet > sizeof(payload->data) || + payload->idx > BigBuf_get_size() || + payload->idx + payload->bytes_in_packet > BigBuf_get_size()) { + reply_ng(CMD_SMART_UPLOAD, PM3_EOVFLOW, NULL, 0); + break; + } + memcpy(mem + payload->idx, payload->data, payload->bytes_in_packet); uint8_t a = 0, b = 0;