References: bsc#967090 CVE-2016-2392 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
Signed-off-by: Prasad J Pandit --- hw/usb/dev-network.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: xen-4.6.1-testing/tools/qemu-xen-dir-remote/hw/usb/dev-network.c =================================================================== --- xen-4.6.1-testing.orig/tools/qemu-xen-dir-remote/hw/usb/dev-network.c +++ xen-4.6.1-testing/tools/qemu-xen-dir-remote/hw/usb/dev-network.c @@ -650,7 +650,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,