From d677bf4bfd55859e18290272eda20a37947b4469 Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Tue, 15 Nov 2016 08:39:47 +0000 Subject: [PATCH] Refs #165. - Added protection against zero division. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@181 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- .../interfaces/uart/XcpTransport.pas | 5 ++++- Host/openblt_uart.dll | Bin 2445824 -> 2445824 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Host/Source/MicroBoot/interfaces/uart/XcpTransport.pas b/Host/Source/MicroBoot/interfaces/uart/XcpTransport.pas index 90db84dc..a65d78fe 100644 --- a/Host/Source/MicroBoot/interfaces/uart/XcpTransport.pas +++ b/Host/Source/MicroBoot/interfaces/uart/XcpTransport.pas @@ -250,7 +250,10 @@ begin // re-confgure the reception timeout now that the total packet length is known. // timeout = (MULTIPLIER) * number_of_bytes + CONSTANT sciDriver.Timeouts.ReadTotalConstant := 0; - sciDriver.Timeouts.ReadTotalMultiplier := timeOutms div resLen; + if timeOutms > 0 then + sciDriver.Timeouts.ReadTotalMultiplier := timeOutms div resLen + else + sciDriver.Timeouts.ReadTotalMultiplier := timeOutms; // attempt to receive the bytes of the response packet one by one while (rxCnt < resLen) and (GetTickCount < dwEnd) do diff --git a/Host/openblt_uart.dll b/Host/openblt_uart.dll index c9b72aabd318ce3940bd9d33ca4e066483e88402..5624b4d66862e5739a636ff57d7d595cc7c8891b 100644 GIT binary patch delta 28757 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 delta 28546 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