staging: tidspbridge: fix memory corruption on long string names
authorOmar Ramirez Luna <omar.ramirez@copitl.com>
Thu, 10 Jan 2013 09:36:59 +0000 (03:36 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jan 2013 00:47:13 +0000 (16:47 -0800)
The value allocated doesn't match the one that is meant to be
stored, resulting in corruption of memory for longer strings
that can't be held in such space.

Fix by allocating the correct byte value for the string meant to
be stored.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@copitl.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/tidspbridge/rmgr/dbdcd.c

index 9d52c3c..3d2a26f 100644 (file)
@@ -852,8 +852,7 @@ int dcd_register_object(struct dsp_uuid *uuid_obj,
                                goto func_end;
                        }
 
-                       dcd_key->path = kmalloc(strlen(sz_reg_key) + 1,
-                                                               GFP_KERNEL);
+                       dcd_key->path = kmalloc(dw_path_size, GFP_KERNEL);
 
                        if (!dcd_key->path) {
                                kfree(dcd_key);