Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad37c94d authored by Gabriel Krisman Bertazi's avatar Gabriel Krisman Bertazi Committed by Jaegeuk Kim
Browse files

ext4: fix coverity warning on error path of filename setup



Fix the following coverity warning reported by Dan Carpenter:

fs/ext4/namei.c:1311 ext4_fname_setup_ci_filename()
	  warn: 'cf_name->len' unsigned <= 0

Fixes: 3ae72562ad91 ("ext4: optimize case-insensitive lookups")
Signed-off-by: default avatarGabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
parent e9ca3689
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -1292,6 +1292,8 @@ int ext4_ci_compare(const struct inode *parent, const struct qstr *name,
void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
				  struct fscrypt_str *cf_name)
{
	int len;

	if (!IS_CASEFOLDED(dir)) {
		cf_name->name = NULL;
		return;
@@ -1301,13 +1303,16 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
	if (!cf_name->name)
		return;

	cf_name->len = utf8_casefold(EXT4_SB(dir->i_sb)->s_encoding,
	len = utf8_casefold(EXT4_SB(dir->i_sb)->s_encoding,
			    iname, cf_name->name,
			    EXT4_NAME_LEN);
	if (cf_name->len <= 0) {
	if (len <= 0) {
		kfree(cf_name->name);
		cf_name->name = NULL;
		return;
	}
	cf_name->len = (unsigned) len;

}
#endif