It should call the function fscrypt_fname_free_buffer() in the exception
handling only after the function fscrypt_fname_alloc_buffer() returns 0,
otherwise it is unnecessary.

Signed-off-by: Tiezhu Yang <[email protected]>
---
 fs/f2fs/namei.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index c31b40e..3225a82 100644
--- a/fs/f2fs/namei.c
+++ b/fs/f2fs/namei.c
@@ -1036,12 +1036,12 @@ static const char *f2fs_encrypted_get_link(struct 
dentry *dentry,
 
        res = fscrypt_fname_disk_to_usr(inode, 0, 0, &cstr, &pstr);
        if (res)
-               goto errout;
+               goto out;
 
        /* this is broken symlink case */
        if (unlikely(pstr.name[0] == 0)) {
                res = -ENOENT;
-               goto errout;
+               goto out;
        }
 
        paddr = pstr.name;
@@ -1052,8 +1052,9 @@ static const char *f2fs_encrypted_get_link(struct dentry 
*dentry,
        put_page(cpage);
        set_delayed_call(done, kfree_link, paddr);
        return paddr;
-errout:
+out:
        fscrypt_fname_free_buffer(&pstr);
+errout:
        put_page(cpage);
        return ERR_PTR(res);
 }
-- 
1.8.3.1
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to