OMAP: PM: SmartReflex: fix potential NULL dereference
authorVasiliy Kulikov <segoon@openwall.com>
Wed, 19 Jan 2011 12:57:22 +0000 (15:57 +0300)
committerKevin Hilman <khilman@ti.com>
Thu, 10 Mar 2011 00:15:50 +0000 (16:15 -0800)
kzalloc() may fail, if so return -ENOMEM.  Also Walter Harms suggested
to use kasprintf() instead of kzalloc+strcpy+strcat.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/smartreflex.c

index 1a777e3..b57ae50 100644 (file)
@@ -260,9 +260,11 @@ static int sr_late_init(struct omap_sr *sr_info)
        if (sr_class->class_type == SR_CLASS2 &&
                sr_class->notify_flags && sr_info->irq) {
 
-               name = kzalloc(SMARTREFLEX_NAME_LEN + 1, GFP_KERNEL);
-               strcpy(name, "sr_");
-               strcat(name, sr_info->voltdm->name);
+               name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name);
+               if (name == NULL) {
+                       ret = -ENOMEM;
+                       goto error;
+               }
                ret = request_irq(sr_info->irq, sr_interrupt,
                                0, name, (void *)sr_info);
                if (ret)