Re: [PATCH v9 10/13] exfat: add nls operations

From: Pali RohÃr
Date: Sun Jan 05 2020 - 10:25:00 EST


On Thursday 02 January 2020 16:20:33 Namjae Jeon wrote:
> This adds the implementation of nls operations for exfat.
>
> Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
> Signed-off-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx>
> ---
> fs/exfat/nls.c | 809 +++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 809 insertions(+)
> create mode 100644 fs/exfat/nls.c
>
> diff --git a/fs/exfat/nls.c b/fs/exfat/nls.c
> new file mode 100644
> index 000000000000..af52328e28ff
> --- /dev/null
> +++ b/fs/exfat/nls.c

...

> +int exfat_nls_cmp_uniname(struct super_block *sb, unsigned short *a,
> + unsigned short *b)
> +{
> + int i;
> +
> + for (i = 0; i < MAX_NAME_LENGTH; i++, a++, b++) {
> + if (exfat_nls_upper(sb, *a) != exfat_nls_upper(sb, *b))
> + return 1;
> + if (*a == 0x0)
> + return 0;
> + }
> + return 0;
> +}

Hello, this function returns wrong result when second string (b) is
longer then first string (a).

Also it is a best practise to first check for end-of-string and then
access/work with i-th element of string.

--
Pali RohÃr
pali.rohar@xxxxxxxxx

Attachment: signature.asc
Description: PGP signature