summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrasad J Pandit <pjp@fedoraproject.org>2016-02-11 16:31:20 +0530
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 19:45:30 -0600
commite37cc4812282c42a304cde9d83a236f5ac1f26a7 (patch)
treea05c8779cf4196b981dd0e066220b318e3c12873
parentab92eece123840398bfbdcfef087d35d26d6bf54 (diff)
downloadhqemu-e37cc4812282c42a304cde9d83a236f5ac1f26a7.zip
hqemu-e37cc4812282c42a304cde9d83a236f5ac1f26a7.tar.gz
usb: check USB configuration descriptor object
When processing remote NDIS control message packets, the USB Net device emulator checks to see if the USB configuration descriptor object is of RNDIS type(2). But it does not check if it is null, which leads to a null dereference error. Add check to avoid it. Reported-by: Qinghao Tang <luodalongde@gmail.com> Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> Message-id: 1455188480-14688-1-git-send-email-ppandit@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--hw/usb/dev-network.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
index 985a629..5dc4538 100644
--- a/hw/usb/dev-network.c
+++ b/hw/usb/dev-network.c
@@ -654,7 +654,8 @@ typedef struct USBNetState {
static int is_rndis(USBNetState *s)
{
- return s->dev.config->bConfigurationValue == DEV_RNDIS_CONFIG_VALUE;
+ return s->dev.config ?
+ s->dev.config->bConfigurationValue == DEV_RNDIS_CONFIG_VALUE : 0;
}
static int ndis_query(USBNetState *s, uint32_t oid,
OpenPOWER on IntegriCloud