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 <[email protected]>
---
 drivers/staging/tidspbridge/rmgr/dbdcd.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/tidspbridge/rmgr/dbdcd.c 
b/drivers/staging/tidspbridge/rmgr/dbdcd.c
index 9d52c3c..3d2a26f 100644
--- a/drivers/staging/tidspbridge/rmgr/dbdcd.c
+++ b/drivers/staging/tidspbridge/rmgr/dbdcd.c
@@ -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);
-- 
1.7.4.4

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to