From 20770fe22bb5c7a1abe5d1a2a35b4f811e1e1b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Wed, 1 May 2019 17:02:32 +0200 Subject: [PATCH] Externals/libusb: Bounds check the interface number --- Externals/libusb/libusb/os/windows_winusb.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Externals/libusb/libusb/os/windows_winusb.c b/Externals/libusb/libusb/os/windows_winusb.c index e18a723a55..c7aec1f83a 100644 --- a/Externals/libusb/libusb/os/windows_winusb.c +++ b/Externals/libusb/libusb/os/windows_winusb.c @@ -2412,6 +2412,9 @@ static int get_valid_interface(struct libusb_device_handle *dev_handle, int api_ */ static int check_valid_interface(struct libusb_device_handle *dev_handle, unsigned short interface, int api_id) { + if (interface >= USB_MAXINTERFACES) + return -1; + struct winusb_device_handle_priv *handle_priv = _device_handle_priv(dev_handle); struct winusb_device_priv *priv = _device_priv(dev_handle->dev);