api,sockets: Fix signed overflow check

Signed overflow is undefined behaviour in C/C++.
This commit is contained in:
Mingjie Shen 2023-04-14 16:37:50 -04:00 committed by Simon Goldschmidt
parent e3a20b3bc2
commit 2e3dcf06d1

View File

@ -1012,7 +1012,7 @@ lwip_recv_tcp(struct lwip_sock *sock, void *mem, size_t len, int flags)
} else {
copylen = (u16_t)recv_left;
}
if (recvd + copylen < recvd) {
if (recvd > SSIZE_MAX - copylen) {
/* overflow */
copylen = (u16_t)(SSIZE_MAX - recvd);
}