mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-03 17:44:54 +00:00
ALSA: usx2y: Fix potential NULL pointer dereference
usb_alloc_urb() can fail due to kmalloc failure and push the error upstream. Further this can cause a NULL pointer dereference in init_pipe_urbs(). This patch avoids such a scenario. Signed-off-by: Aditya Pakki <pakki001@umn.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
d344e07940
commit
a2c6433ee5
@ -104,7 +104,12 @@ static int init_urbs(struct usb_stream_kernel *sk, unsigned use_packsize,
|
|||||||
|
|
||||||
for (u = 0; u < USB_STREAM_NURBS; ++u) {
|
for (u = 0; u < USB_STREAM_NURBS; ++u) {
|
||||||
sk->inurb[u] = usb_alloc_urb(sk->n_o_ps, GFP_KERNEL);
|
sk->inurb[u] = usb_alloc_urb(sk->n_o_ps, GFP_KERNEL);
|
||||||
|
if (!sk->inurb[u])
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
sk->outurb[u] = usb_alloc_urb(sk->n_o_ps, GFP_KERNEL);
|
sk->outurb[u] = usb_alloc_urb(sk->n_o_ps, GFP_KERNEL);
|
||||||
|
if (!sk->outurb[u])
|
||||||
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (init_pipe_urbs(sk, use_packsize, sk->inurb, indata, dev, in_pipe) ||
|
if (init_pipe_urbs(sk, use_packsize, sk->inurb, indata, dev, in_pipe) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user