- 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:
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user