On 2018-04-19 09:18 AM, Derek Foreman wrote:
> On 2018-04-19 09:01 AM, Derek Foreman wrote:
>> From: Dipen Somani <[email protected]>
>>
>> commit 3cddb3c692acd3536a7cc8542a29f0cc3c0ac3d6 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 <[email protected]>
>> Signed-off-by: Derek Foreman <[email protected]>
>
> I forgot to add:
> Reviewed-by: Derek Foreman <[email protected]>
And have now landed it.
Thanks,
Derek
>> ---
>> src/wayland-server.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/wayland-server.c b/src/wayland-server.c
>> index eb1e500..eab2ee4 100644
>> --- a/src/wayland-server.c
>> +++ b/src/wayland-server.c
>> @@ -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;
>>
>
> _______________________________________________
> wayland-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel