- prevent buffer overflow when reading uart data

- uart data length updated to 256

git-svn-id: https://svn.code.sf.net/p/libusbjava/code/trunk@98 94ad28fe-ef68-46b1-9651-e7ae4fcf1c4c
This commit is contained in:
schlaepfer
2006-01-20 14:59:46 +00:00
parent 81186d1170
commit 66c971de9e
2 changed files with 3 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ MODULE UsbBDIDll ["BDI.dll"];
CONST CONST
MAX_NOF_LONGS_FILL* = 84; MAX_NOF_LONGS_FILL* = 84;
MAX_UART_DATA_LENGTH* = 128; MAX_UART_DATA_LENGTH* = 256;
TYPE TYPE
PtrSTR* = POINTER TO ARRAY [untagged] OF SHORTCHAR; PtrSTR* = POINTER TO ARRAY [untagged] OF SHORTCHAR;
@@ -172,4 +172,4 @@ MODULE UsbBDIDll ["BDI.dll"];
PROCEDURE UART0_write* (data: (* ARRAY OF SHORTCHAR *) INTEGER; length: INTEGER): BOOL; PROCEDURE UART0_write* (data: (* ARRAY OF SHORTCHAR *) INTEGER; length: INTEGER): BOOL;
(*END UART0_write; *) (*END UART0_write; *)
END UsbBDIDll. END UsbBDIDll.

View File

@@ -27,6 +27,7 @@ MODULE UsbTargLog;
BEGIN BEGIN
done := USB.UART0_read(data, length); done := USB.UART0_read(data, length);
IF done THEN IF done THEN
length := MIN(length, USB.MAX_UART_DATA_LENGTH );
FOR i := 0 TO length - 1 DO FOR i := 0 TO length - 1 DO
logWriter.WriteChar(data[i]) logWriter.WriteChar(data[i])
END END