Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [PATCH v5] vfat: Deduplicate hex2bin() | Date | Tue, 01 Aug 2017 03:40:38 +0900 |
| |
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>
| |