From 304cdde1677a77af010241801454dd58f2675fbe Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Wed, 6 Jan 2016 22:17:31 -0800 Subject: rtc: ds1307: Fix a memory leak Several failure paths would result in control being transfered to 'exit' label, so instead of just returning error codes in those cases we also need to free the memory allocated for 'ds1307' Signed-off-by: Andrey Smirnov Signed-off-by: Sascha Hauer --- drivers/rtc/rtc-ds1307.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/rtc/rtc-ds1307.c') diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c index 2b46ae54f6..e2d561b96f 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -422,6 +423,8 @@ read_rtc: err = rtc_register(&ds1307->rtc); exit: + if (err) + free(ds1307); return err; } -- cgit v1.2.3