If casefolding the filename fails, we'll be leaking fscrypt_buf name. Make sure we free it in the error path. Signed-off-by: Luís Henriques <lhenriques@xxxxxxx> --- fs/ext4/crypto.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/ext4/crypto.c b/fs/ext4/crypto.c index e20ac0654b3f..9e4503b051c4 100644 --- a/fs/ext4/crypto.c +++ b/fs/ext4/crypto.c @@ -33,6 +33,8 @@ int ext4_fname_setup_filename(struct inode *dir, const struct qstr *iname, #if IS_ENABLED(CONFIG_UNICODE) err = ext4_fname_setup_ci_filename(dir, iname, fname); + if (err) + fscrypt_free_filename(&name); #endif return err; }