This patch fix bug that variable dentries going
out of scope leaks the storage it points to.

Signed-off-by: Xiaojun Wang<[email protected]>
---
 fsck/sload.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/fsck/sload.c b/fsck/sload.c
index f5a4651..e5de2e1 100644
--- a/fsck/sload.c
+++ b/fsck/sload.c
@@ -240,15 +240,18 @@ static int build_directory(struct f2fs_sb_info *sbi, 
const char *full_path,
                ret = set_selinux_xattr(sbi, dentries[i].path,
                                        dentries[i].ino, dentries[i].mode);
                if (ret)
-                       return ret;
+                       goto out;
+       }
 
+out:
+       for (i = 0; i < entries; i++) {
                free(dentries[i].path);
                free(dentries[i].full_path);
                free((void *)dentries[i].name);
        }
 
        free(dentries);
-       return 0;
+       return ret;
 }
 
 static int configure_files(void)
-- 
2.7.4



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to