Pavel Machek <[email protected]> a écrit :

Fix memory leak in error path.

Signed-off-by: Pavel Machek (CIP) <[email protected]>

diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
index 6798addabd5a..785270ee337c 100644
--- a/drivers/watchdog/watchdog_dev.c
+++ b/drivers/watchdog/watchdog_dev.c
@@ -994,8 +994,10 @@ static int watchdog_cdev_register(struct watchdog_device *wdd)
        wd_data->wdd = wdd;
        wdd->wd_data = wd_data;

-       if (IS_ERR_OR_NULL(watchdog_kworker))

Maybe it would be better to move this check before the kzalloc as the wd_data is not needed for doing that check.

Christophe

+       if (IS_ERR_OR_NULL(watchdog_kworker)) {
+               kfree(wd_data);
                return -ENODEV;
+       }

        device_initialize(&wd_data->dev);
        wd_data->dev.devt = MKDEV(MAJOR(watchdog_devt), wdd->id);

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


Reply via email to