Re: [f2fs-dev] [PATCH v3] fsck.f2fs: fix memleak in f2fs_create()

2023-06-05 Thread Chao Yu

On 2023/6/5 14:08, Maxim Korotkov wrote:

In error handling cases, exiting a function without releasing memory

Signed-off-by: Maxim Korotkov 


Reviewed-by: Chao Yu 

Thanks,


___
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel


[f2fs-dev] [PATCH v3] fsck.f2fs: fix memleak in f2fs_create()

2023-06-05 Thread Maxim Korotkov
In error handling cases, exiting a function without releasing memory

Signed-off-by: Maxim Korotkov 
---
changelog: removed trailing indent
 fsck/dir.c | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/fsck/dir.c b/fsck/dir.c
index 4a3eb6e..793fe11 100644
--- a/fsck/dir.c
+++ b/fsck/dir.c
@@ -704,7 +704,8 @@ int f2fs_create(struct f2fs_sb_info *sbi, struct dentry *de)
ret = convert_inline_dentry(sbi, parent, ni.blk_addr);
if (ret) {
MSG(0, "Convert inline dentry for pino=%x failed.\n", de->pino);
-   return -1;
+   ret = -1;
+   goto free_parent_dir;
}
 
ret = f2fs_find_entry(sbi, parent, de);
@@ -713,6 +714,7 @@ int f2fs_create(struct f2fs_sb_info *sbi, struct dentry *de)
de->name, de->pino, ret);
if (de->file_type == F2FS_FT_REG_FILE)
de->ino = 0;
+   ret = 0;
goto free_parent_dir;
}
 
@@ -728,7 +730,8 @@ int f2fs_create(struct f2fs_sb_info *sbi, struct dentry *de)
if (hardlink_ni.blk_addr == NULL_ADDR) {
MSG(1, "No original inode for hard link to_ino=%x\n",
found_hardlink->to_ino);
-   return -1;
+   ret = -1;
+   goto free_child_dir;
}
 
/* Use previously-recorded inode */
@@ -750,6 +753,7 @@ int f2fs_create(struct f2fs_sb_info *sbi, struct dentry *de)
if (ret) {
MSG(0, "Skip the existing \"%s\" pino=%x ERR=%d\n",
de->name, de->pino, ret);
+   ret = 0;
goto free_child_dir;
}
 
@@ -804,7 +808,7 @@ free_child_dir:
free(child);
 free_parent_dir:
free(parent);
-   return 0;
+   return ret;
 }
 
 int f2fs_mkdir(struct f2fs_sb_info *sbi, struct dentry *de)
-- 
2.34.1



___
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel