usb: config->desc.bLength may not exceed amount of data returned by the device

While reading the config parsing code I noticed this check is missing,
without
this check config->desc.wTotalLength can end up with a value
larger then the
dev->rawdescriptors length for the config, and when
userspace then tries to
get the rawdescriptors bad things may
happen.

Signed-off-by: Hans de Goede
<hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman
<gregkh@linuxfoundation.org>

idea is taken here -
https://github.com/varunchitre15/thunderzap_xl/commit/90a8423b078cbea6d0892079c64a6d0bb8714bd6