[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 6/9] uhci: check device is not NULL before calling us
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PULL 6/9] uhci: check device is not NULL before calling usb_ep_get() |
Date: |
Wed, 20 Feb 2019 12:13:43 +0100 |
From: Liam Merwick <address@hidden>
In uhci_handle_td(), the call to ehci_find_device() can return NULL
if it doesn't find a device matching 'addr' so explicitly check
the return value before passing it to usb_ep_get().
Signed-off-by: Liam Merwick <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/usb/hcd-uhci.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index e694b62086..09df29ff9c 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -858,13 +858,15 @@ static int uhci_handle_td(UHCIState *s, UHCIQueue *q,
uint32_t qh_addr,
/* Allocate new packet */
if (q == NULL) {
- USBDevice *dev = uhci_find_device(s, (td->token >> 8) & 0x7f);
- USBEndpoint *ep = usb_ep_get(dev, pid, (td->token >> 15) & 0xf);
+ USBDevice *dev;
+ USBEndpoint *ep;
- if (ep == NULL) {
+ dev = uhci_find_device(s, (td->token >> 8) & 0x7f);
+ if (dev == NULL) {
return uhci_handle_td_error(s, td, td_addr, USB_RET_NODEV,
int_mask);
}
+ ep = usb_ep_get(dev, pid, (td->token >> 15) & 0xf);
q = uhci_queue_new(s, qh_addr, td, ep);
}
async = uhci_async_alloc(q, td_addr);
--
2.9.3
- [Qemu-devel] [PULL 0/9] Usb 20190220 patches, Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 3/9] xhci: check device is not NULL before calling usb_ep_get(), Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 7/9] usb: check device is not NULL before calling usb_ep_get(), Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 9/9] usb: remove unnecessary NULL device check from usb_ep_get(), Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 1/9] usb: rearrange usb_ep_get(), Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 5/9] ohci: check device is not NULL before calling usb_ep_get(), Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 2/9] xhci: add asserts to help with static code analysis, Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 6/9] uhci: check device is not NULL before calling usb_ep_get(),
Gerd Hoffmann <=
- [Qemu-devel] [PULL 8/9] usb: add device checks before redirector calls to usb_ep_get(), Gerd Hoffmann, 2019/02/20
- [Qemu-devel] [PULL 4/9] ehci: check device is not NULL before calling usb_ep_get(), Gerd Hoffmann, 2019/02/20
- Re: [Qemu-devel] [PULL 0/9] Usb 20190220 patches, Peter Maydell, 2019/02/21