lkml.org 
[lkml]   [2017]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v5] vfat: Deduplicate hex2bin()
Date
Andy Shevchenko <andriy.shevchenko@linux.intel.com> writes:

> We may use hex2bin() instead of custom approach.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

[...]

> + u8 hc[2];

Let's move this to following more local scope.

> if (utf8) {
> *outlen = utf8s_to_utf16s(name, len, UTF16_HOST_ENDIAN,
> @@ -532,31 +532,16 @@ xlate_to_uni(const unsigned char *name, int len, unsigned char *outname,
> if (escape && (*ip == ':')) {
u8 uc[2];

Here.

> if (i > len - 5)
> return -EINVAL;

[...]

> + fill = hex2bin(hc, ip + 1, 2);
> + if (fill)
> + return fill;

This should not use random errno (in this case, it is -1 (EPERM)).

> + *op++ = hc[1];
> + *op++ = hc[0];

Maybe, originally endian bug?

> ip += 5;
> i += 5;
> } else {
> - charlen = nls->char2uni(ip, len - i,
> - (wchar_t *)op);
> + charlen = nls->char2uni(ip, len - i, (wchar_t *)op);
> if (charlen < 0)
> return -EINVAL;
> ip += charlen;

I will send a modified patch.

Thanks.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

\
 
 \ /
  Last update: 2017-07-31 20:41    [W:1.334 / U:0.900 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site