USB: host: isp116x: check return value after calling platform_get_resource()
authorZhen Ni <nizhen@uniontech.com>
Wed, 2 Mar 2022 03:37:16 +0000 (11:37 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Apr 2022 17:02:59 +0000 (19:02 +0200)
It will cause null-ptr-deref if platform_get_resource() returns NULL,
we need check the return value.

Signed-off-by: Zhen Ni <nizhen@uniontech.com>
Link: https://lore.kernel.org/r/20220302033716.31272-1-nizhen@uniontech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/isp116x-hcd.c

index 8835f6b..8c7f099 100644 (file)
@@ -1541,10 +1541,12 @@ static int isp116x_remove(struct platform_device *pdev)
 
        iounmap(isp116x->data_reg);
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       release_mem_region(res->start, 2);
+       if (res)
+               release_mem_region(res->start, 2);
        iounmap(isp116x->addr_reg);
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       release_mem_region(res->start, 2);
+       if (res)
+               release_mem_region(res->start, 2);
 
        usb_put_hcd(hcd);
        return 0;