From 217bedd325f57823e8e59fa4a296f476c94faa3f Mon Sep 17 00:00:00 2001 From: Michael Buesch Date: Mon, 13 Jan 2025 18:08:22 +0100 Subject: [PATCH] Fix division by 0 crash in case of an unknown device is connected --- src/dwire/DwPort.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/dwire/DwPort.c b/src/dwire/DwPort.c index 03d4b12..7e377b2 100644 --- a/src/dwire/DwPort.c +++ b/src/dwire/DwPort.c @@ -172,9 +172,12 @@ void DwWriteAddr(int addr, int len, const u8 *buf) { void DwReconnect(void) { - DwSend(Bytes(0xF0)); // Request current PC - PC = (2 * (DwReadWord() - 1) % FlashSize()); - DwGetRegs(28, R+28, 4); // Cache r28 through r31 + int size = FlashSize(); + if (size > 0) { + DwSend(Bytes(0xF0)); // Request current PC + PC = (2 * (DwReadWord() - 1) % size); + DwGetRegs(28, R+28, 4); // Cache r28 through r31 + } } void DwReset(void) {