Skip to content

Commit

Permalink
drivers/leds/led-triggers.c: fix memory leak
Browse files Browse the repository at this point in the history
The memory for struct led_trigger should be kfreed in the
led_trigger_register() error path.  Also this function should return NULL
on error.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Masakazu Mokuno authored and Linus Torvalds committed Nov 1, 2011
1 parent f59b6f9 commit cba4c2a
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/leds/led-triggers.c
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,12 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
if (trigger) {
trigger->name = name;
err = led_trigger_register(trigger);
if (err < 0)
if (err < 0) {
kfree(trigger);
trigger = NULL;
printk(KERN_WARNING "LED trigger %s failed to register"
" (%d)\n", name, err);
}
} else
printk(KERN_WARNING "LED trigger %s failed to register"
" (no memory)\n", name);
Expand Down

0 comments on commit cba4c2a

Please sign in to comment.