UPSTREAM: usb_get_port_path(): fix libusb error checking

When libusb cannot access a device, libusb_get_port_numbers() will return
an error. Check the return code rather than doing invalid pointer
operations (out-of-bound read).

Avoid segfaults at sigrok-cli startup on my setup where some USB devices are
not accessible and also make Valgrind happier.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
(cherry picked from commit 2f004b4bc15c891b474adcba59a2224f009828af)

BUG=none
BRANCH=none

Change-Id: I41ccfba32a831b8d18be14439a3a06169dd6febb
diff --git a/src/usb.c b/src/usb.c
index ec502c9..8bdb8d6 100644
--- a/src/usb.c
+++ b/src/usb.c
@@ -278,6 +278,9 @@
 
 	n = libusb_get_port_numbers(dev, port_numbers, sizeof(port_numbers));
 
+	if (n < 1)
+		return SR_ERR;
+
 	len = snprintf(path, path_len, "usb/%d-%d",
 	               libusb_get_bus_number(dev), port_numbers[0]);