thor: fix crash after usb initialization failure
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 21 Jun 2019 13:39:29 +0000 (15:39 +0200)
committerMarek Vasut <marex@denx.de>
Thu, 8 Aug 2019 09:35:02 +0000 (11:35 +0200)
Registration of USB download gadget might fail for various reasons, so
add a check for g_dnl_register() funtion return value. Without this fix,
thor_init() will try to access the registered gadget structures resulting
in NULL pointer dereference issue.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
cmd/thordown.c

index 19ae6721d19a60460a184d70ca5d0a8a382cca03..dd0544d475723d14ce6bd298963ca62e411d42ed 100644 (file)
@@ -37,7 +37,11 @@ int do_thor_down(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                goto exit;
        }
 
-       g_dnl_register("usb_dnl_thor");
+       ret = g_dnl_register("usb_dnl_thor");
+       if (ret) {
+               pr_err("g_dnl_register failed %d\n", ret);
+               return ret;
+       }
 
        ret = thor_init();
        if (ret) {