From 11b11a9d71cbaee63cdbc0f02abf8c371a63b26c Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 23 Oct 2018 16:24:14 +0200 Subject: [PATCH] lib: Fix get_next_timeout_expiry If get_next_timeout_expiry() fails, and libusb_get_next_timeout() has no timeouts or failed, fprint_timeout will not be set, and we cannot compare it to libusb_timeout. Exit early if both failed or have empty queues. --- libfprint/fpi-poll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libfprint/fpi-poll.c b/libfprint/fpi-poll.c index 8fe7981..f3303e0 100644 --- a/libfprint/fpi-poll.c +++ b/libfprint/fpi-poll.c @@ -381,7 +381,7 @@ API_EXPORTED int fp_get_next_timeout(struct timeval *tv) /* if we have no pending timeouts and the same is true for libusb, * indicate that we have no pending timouts */ - if (r_fprint == 0 && r_libusb == 0) + if (r_fprint <= 0 && r_libusb <= 0) return 0; /* if fprint have no pending timeouts return libusb timeout */