regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 5 Jan 2021 11:42:29 +0000 (14:42 +0300)
committerMark Brown <broonie@kernel.org>
Tue, 5 Jan 2021 14:34:41 +0000 (14:34 +0000)
This code will leak "map->debugfs_name" because the if statement is
reversed so it only frees NULL pointers instead of non-NULL.  In
fact the if statement is not required and should just be removed
because kfree() accepts NULL pointers.

Fixes: cffa4b2122f5 ("regmap: debugfs: Fix a memory leak when calling regmap_attach_dev")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/X/RQpfAwRdLg0GqQ@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap-debugfs.c

index bf03cd3..ff2ee87 100644 (file)
@@ -594,9 +594,7 @@ void regmap_debugfs_init(struct regmap *map)
        }
 
        if (!strcmp(name, "dummy")) {
-               if (!map->debugfs_name)
-                       kfree(map->debugfs_name);
-
+               kfree(map->debugfs_name);
                map->debugfs_name = kasprintf(GFP_KERNEL, "dummy%d",
                                                dummy_index);
                if (!map->debugfs_name)