From 9a576ea145186adffae39c3016edd0bb8f81b4a4 Mon Sep 17 00:00:00 2001 From: Will Hedgecock Date: Fri, 17 Dec 2021 13:14:58 -0600 Subject: [PATCH] Fix unsigned integer comparison bug --- src/main/c/Windows/SerialPort_Windows.c | 8 ++++---- .../resources/Windows/aarch64/jSerialComm.dll | Bin 83456 -> 83456 bytes .../resources/Windows/armv7/jSerialComm.dll | Bin 71168 -> 71168 bytes .../resources/Windows/x86/jSerialComm.dll | Bin 83968 -> 83968 bytes .../resources/Windows/x86_64/jSerialComm.dll | Bin 88064 -> 88064 bytes src/test/c/testEnumerateWindows.c | 8 ++++---- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/c/Windows/SerialPort_Windows.c b/src/main/c/Windows/SerialPort_Windows.c index aff5d4d..2f9c32a 100644 --- a/src/main/c/Windows/SerialPort_Windows.c +++ b/src/main/c/Windows/SerialPort_Windows.c @@ -170,7 +170,7 @@ JNIEXPORT jobjectArray JNICALL Java_com_fazecast_jSerialComm_SerialPort_getCommP { if (wcsstr(locationString, L"Hub")) hubNumber = _wtoi(wcschr(wcsstr(locationString, L"Hub"), L'#') + 1); - if ((portNumber < 0) && wcsstr(locationString, L"Port")) + if ((portNumber == -1) && wcsstr(locationString, L"Port")) { wchar_t *portString = wcschr(wcsstr(locationString, L"Port"), L'#') + 1; if (portString) @@ -184,11 +184,11 @@ JNIEXPORT jobjectArray JNICALL Java_com_fazecast_jSerialComm_SerialPort_getCommP } free(locationString); } - if (busNumber < 0) + if (busNumber == -1) busNumber = 0; - if (hubNumber < 0) + if (hubNumber == -1) hubNumber = 0; - if (portNumber < 0) + if (portNumber == -1) portNumber = 0; locationString = (wchar_t*)malloc(32*sizeof(wchar_t)); _snwprintf(locationString, 32, L"%d-%d.%d", busNumber, hubNumber, portNumber); diff --git a/src/main/resources/Windows/aarch64/jSerialComm.dll b/src/main/resources/Windows/aarch64/jSerialComm.dll index 0277470987fcfc72fee4278e45b8bc63bfd60e78..642a93c788a5017444ac53fe47840db366101a01 100644 GIT binary patch delta 8996 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 delta 8905 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 diff --git a/src/main/resources/Windows/armv7/jSerialComm.dll b/src/main/resources/Windows/armv7/jSerialComm.dll index 8864e3c203d1c92d61146f899cc878db771ddbcb..fbf583ba559ff470ae55278f370ffc0bd606a8c2 100644 GIT binary patch delta 8875 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 BUVi`p delta 8777 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 U{pcW>YY)F30S71f(U0l>0e2WAT>t<8 diff --git a/src/main/resources/Windows/x86/jSerialComm.dll b/src/main/resources/Windows/x86/jSerialComm.dll index 77048942758e3a5622bea75da7db10229faa6671..cd3220f7fce8dc8a7925afed7faf09b5d0065254 100644 GIT binary patch delta 8269 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 diff --git a/src/test/c/testEnumerateWindows.c b/src/test/c/testEnumerateWindows.c index ad4f5ca..2e9a33c 100644 --- a/src/test/c/testEnumerateWindows.c +++ b/src/test/c/testEnumerateWindows.c @@ -113,7 +113,7 @@ void getPortsWindows(void) { if (wcsstr(locationString, L"Hub")) hubNumber = _wtoi(wcschr(wcsstr(locationString, L"Hub"), L'#') + 1); - if ((portNumber < 0) && wcsstr(locationString, L"Port")) + if ((portNumber == -1) && wcsstr(locationString, L"Port")) { wchar_t *portString = wcschr(wcsstr(locationString, L"Port"), L'#') + 1; if (portString) @@ -127,11 +127,11 @@ void getPortsWindows(void) } free(locationString); } - if (busNumber < 0) + if (busNumber == -1) busNumber = 0; - if (hubNumber < 0) + if (hubNumber == -1) hubNumber = 0; - if (portNumber < 0) + if (portNumber == -1) portNumber = 0; locationString = (wchar_t*)malloc(32*sizeof(wchar_t)); _snwprintf(locationString, 32, L"%d-%d.%d", busNumber, hubNumber, portNumber);