From 6cd28c326d73c0c43d04c60b86dc70250ea6ef3c Mon Sep 17 00:00:00 2001 From: "andrey.bychkov" Date: Thu, 6 Aug 2026 10:19:23 +0300 Subject: [PATCH] fix(PISerial): close fd when probe read fails in availableDevicesInfo When the non-blocking probe read returned EIO, the loop continued without closing the file descriptor, leaking one fd per rejected port on each call. --- libs/main/io_devices/piserial.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libs/main/io_devices/piserial.cpp b/libs/main/io_devices/piserial.cpp index 401d5dfc..0adecd95 100644 --- a/libs/main/io_devices/piserial.cpp +++ b/libs/main/io_devices/piserial.cpp @@ -1292,6 +1292,11 @@ PIVector PISerial::availableDevicesInfo(bool test) { if (!rok) { ret.remove(i); --i; +#ifdef WINDOWS + CloseHandle(hComm); +#else + ::close(fd); +#endif continue; } #ifdef WINDOWS