usb-audio: ignore usb packages with wrong size
usb packets with no payload (zero length) seem to happen in practice for whatever reason. Add a check and skip the packet then, otherwise we'll trigger an assert. Reported-by: Leonardo Soares Müller <leozinho29_eu@hotmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20181211072649.20700-1-kraxel@redhat.com
This commit is contained in:
parent
95a38c395d
commit
a7fde1c170
@ -321,6 +321,9 @@ static int streambuf_put(struct streambuf *buf, USBPacket *p)
|
|||||||
if (!free) {
|
if (!free) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (p->iov.size != USBAUDIO_PACKET_SIZE) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
assert(free >= USBAUDIO_PACKET_SIZE);
|
assert(free >= USBAUDIO_PACKET_SIZE);
|
||||||
usb_packet_copy(p, buf->data + (buf->prod % buf->size),
|
usb_packet_copy(p, buf->data + (buf->prod % buf->size),
|
||||||
USBAUDIO_PACKET_SIZE);
|
USBAUDIO_PACKET_SIZE);
|
||||||
|
Loading…
Reference in New Issue
Block a user