[02/20] common/dpaax: fix a memory leak in iterate dir
Checks
Commit Message
When process_dir() fails, the memory to 'subdir' was not freed which
caused a memory leak.
Fixes: 2183c6f69d7e ("bus/dpaa: add OF parser for device scanning")
Signed-off-by: Weiguo Li <liwg06@foxmail.com>
---
drivers/common/dpaax/dpaa_of.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -126,8 +126,10 @@ iterate_dir(struct dirent **d, int num, struct dt_dir *dt)
d[loop]->d_name);
subdir->parent = dt;
ret = process_dir(subdir->node.node.full_name, subdir);
- if (ret)
+ if (ret) {
+ free(subdir);
return ret;
+ }
list_add_tail(&subdir->node.list, &dt->subdirs);
break;
default: