fix(picloudserver): use piMin<ssize_t> to avoid signed/unsigned UB in Client::readDevice

piMini(max_size, buff.size()) implicitly narrows size_t to int,
which is UB for large buffers. Replace with explicit piMin<ssize_t>
matching the correct pattern used in picloudclient.cpp.
This commit is contained in:
2026-08-10 15:48:12 +03:00
parent f9a846a3e9
commit 1c9cdbba19
+1 -1
View File
@@ -201,7 +201,7 @@ ssize_t PICloudServer::Client::readDevice(void * read_to, ssize_t max_size) {
if (buff.isEmpty()) { if (buff.isEmpty()) {
sz = 0; sz = 0;
} else { } else {
sz = piMini(max_size, buff.size()); sz = piMin<ssize_t>(max_size, buff.size_s());
memcpy(read_to, buff.data(), sz); memcpy(read_to, buff.data(), sz);
buff.remove(0, sz); buff.remove(0, sz);
} }