rtc: ds1307: check for failed memory allocation on wdt
authorColin Ian King <colin.king@canonical.com>
Fri, 3 Apr 2020 11:04:37 +0000 (12:04 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 3 Apr 2020 11:38:24 +0000 (13:38 +0200)
Currently a failed memory allocation will lead to a null pointer
dereference on point wdt.  Fix this by checking for a failed
allocation and just returning.

Addresses-Coverity: ("Dereference null return")
Fixes: fd90d48db037 ("rtc: ds1307: add support for watchdog timer on ds1388")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20200403110437.57420-1-colin.king@canonical.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-ds1307.c

index fad0421..4970294 100644 (file)
@@ -1673,6 +1673,8 @@ static void ds1307_wdt_register(struct ds1307 *ds1307)
                return;
 
        wdt = devm_kzalloc(ds1307->dev, sizeof(*wdt), GFP_KERNEL);
+       if (!wdt)
+               return;
 
        wdt->info = &ds1388_wdt_info;
        wdt->ops = &ds1388_wdt_ops;