]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
led: triggers: Fix a memory leak bug
authorWenwen Wang <wenwen@cs.uga.edu>
Mon, 19 Aug 2019 20:41:42 +0000 (15:41 -0500)
committerJacek Anaszewski <jacek.anaszewski@gmail.com>
Tue, 20 Aug 2019 18:21:22 +0000 (20:21 +0200)
In led_trigger_set(), 'event' is allocated in kasprintf(). However, it is
not deallocated in the following execution if the label 'err_activate' or
'err_add_groups' is entered, leading to memory leaks. To fix this issue,
free 'event' before returning the error.

Fixes: 52c47742f79d ("leds: triggers: send uevent when changing triggers")
Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
drivers/leds/led-triggers.c

index 8d11a5e23227105795d55c15c8379cc04e8145da..eff1bda8b5200abeb340a42836fc02159e1bc463 100644 (file)
@@ -173,6 +173,7 @@ int led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
        list_del(&led_cdev->trig_list);
        write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock, flags);
        led_set_brightness(led_cdev, LED_OFF);
+       kfree(event);
 
        return ret;
 }