[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5799ca65-df15-274b-3319-984f5e1f0fd3@gmail.com>
Date: Tue, 4 Oct 2022 22:22:34 +0100
From: "Colin King (gmail)" <colin.i.king@...il.com>
To: Konstantin Komarov <almaz.alexandrovich@...agon-software.com>
Cc: ntfs3@...ts.linux.dev,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: re: fs/ntfs3: Add option "nocase"
Hi,
Static analysis with clang scan build has detected an issue in the
following commit:
commit a3a956c78efaa202b1d75190136671cf6e87bfbe
Author: Konstantin Komarov <almaz.alexandrovich@...agon-software.com>
Date: Fri Sep 23 12:42:18 2022 +0300
fs/ntfs3: Add option "nocase"
The issue is as follows in fs/ntfs3/index.c in function ntfs_d_compare:
/* First try fast implementation. */
for (;;) {
if (!lm--) {
ret = len1 == len2 ? 0 : 1;
goto out;
}
if ((c1 = *n1++) == (c2 = *n2++))
continue;
if (c1 >= 0x80 || c2 >= 0x80)
break;
if (toupper(c1) != toupper(c2)) {
ret = 1;
goto out;
}
}
...
...
out:
__putname(uni1);
return ret;
}
The exits in the for-loop via label out are ending up with __putname()
being called on an uninitialized uni1 pointer.
Colin
Powered by blists - more mailing lists