We can simply cut the returned data octet string to the actual length
instead. In this case, we must also adjust for the control pipe header
in case of CONTROL IN transfers.
A control read transfer (bmAttributes & 0x80) consists of an 8 byte
header (setup phase) followed by a data phase containing the retunned
data. So we have to add the wLength contents of the header to the
length of the buffer allocated for the transfer.