diff options
author | Liam Merwick <liam.merwick@oracle.com> | 2019-02-06 13:36:49 +0000 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2019-02-20 09:41:23 +0100 |
commit | 92cf34279ce907cabf6cb0626ad8a9076eeab9b2 (patch) | |
tree | 5a660d40839979e11e9dc1321db0b172908864b6 /hw/usb | |
parent | 56090d78a799015adadde759ee5de9e7b292126a (diff) | |
download | qemu-92cf34279ce907cabf6cb0626ad8a9076eeab9b2.zip qemu-92cf34279ce907cabf6cb0626ad8a9076eeab9b2.tar.gz qemu-92cf34279ce907cabf6cb0626ad8a9076eeab9b2.tar.bz2 |
xhci: add asserts to help with static code analysis
Most callers of xhci_port_update() and xhci_wakeup() pass in a pointer
to an array entry and can never be NULL but add two defensive asserts
to protect against future changes (e.g. adding a new port speed, etc.)
adding a path through xhci_lookup_port() that could result in the
return of a NULL XHCIPort.
Signed-off-by: Liam Merwick <liam.merwick@oracle.com>
Message-id: 1549460216-25808-3-git-send-email-liam.merwick@oracle.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb')
-rw-r--r-- | hw/usb/hcd-xhci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index 19c64f7..99b83aa 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -2607,6 +2607,7 @@ static void xhci_port_update(XHCIPort *port, int is_detach) { uint32_t pls = PLS_RX_DETECT; + assert(port); port->portsc = PORTSC_PP; if (!is_detach && xhci_port_have_device(port)) { port->portsc |= PORTSC_CCS; @@ -3215,6 +3216,7 @@ static void xhci_wakeup(USBPort *usbport) XHCIState *xhci = usbport->opaque; XHCIPort *port = xhci_lookup_port(xhci, usbport); + assert(port); if (get_field(port->portsc, PORTSC_PLS) != PLS_U3) { return; } |