wayland-server: Properly handle EAGAIN from wl_connection_read()
commit 3cddb3c692
casted len to an
unsigned value to compare to sizeof results. However,
wl_connection_read() can fail, setting errno to EAGAIN and returning
a value of -1.
When cast to an unsigned type this leads to a loop condition of true
when it should be false.
Signed-off-by: Dipen Somani <dipen.somani@samsung.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
parent
e09c1a98f9
commit
685f9a0909
|
@ -353,7 +353,7 @@ wl_client_connection_data(int fd, uint32_t mask, void *data)
|
|||
}
|
||||
}
|
||||
|
||||
while ((size_t) len >= sizeof p) {
|
||||
while (len >= 0 && (size_t) len >= sizeof p) {
|
||||
wl_connection_copy(connection, p, sizeof p);
|
||||
opcode = p[1] & 0xffff;
|
||||
size = p[1] >> 16;
|
||||
|
|
Loading…
Reference in New Issue
Block a user