diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c index 87e20a6..db21710 100644 --- a/libusb/os/linux_usbfs.c +++ b/libusb/os/linux_usbfs.c @@ -2590,6 +2590,12 @@ static int op_handle_events(struct libusb_context *ctx, break; } + if (!hpriv || hpriv->fd != pollfd->fd) { + usbi_err(ctx, "cannot find handle for fd %d\n", + pollfd->fd); + continue; + } + if (pollfd->revents & POLLERR) { usbi_remove_pollfd(HANDLE_CTX(handle), hpriv->fd); usbi_handle_disconnect(handle); diff --git a/libusb/version_nano.h b/libusb/version_nano.h index c938764..f17ff97 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 10896 +#define LIBUSB_NANO 10897