Index: uspace/drv/bus/usb/usbhub/usbhub.c
===================================================================
--- uspace/drv/bus/usb/usbhub/usbhub.c	(revision 6f057052da090fb166eafe0b3b3b33ed000ac51c)
+++ uspace/drv/bus/usb/usbhub/usbhub.c	(revision fec6bf2c3489428dddd9cecff0c920693ca0f46c)
@@ -313,5 +313,12 @@
 	}
 
-	// TODO: Make sure that there is enough data and the cast is correct
+	if (usb_device->descriptors.configuration_size
+	    < sizeof(usb_standard_configuration_descriptor_t)) {
+	    usb_log_error("Configuration descriptor is not big enough"
+	        " to fit standard configuration descriptor.\n");
+	    return EOVERFLOW;
+	}
+
+	// TODO: Make sure that the cast is correct
 	usb_standard_configuration_descriptor_t *config_descriptor
 	    = (usb_standard_configuration_descriptor_t *)
