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 9d52c3cb92f03257393b99e0d5b0f5eff2d226df..3d2a26f1efe55a82c01b8bfd9f525e856e40227a 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);