Re: NLS: utf8 conversions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alan Stern wrote:
> Your comments agree pretty well with what I had concluded.  However a 
> lot of the source files have lengthy tables of wchar_t values; changing 
> them to 32 bits would waste a lot of space.
> 
> As a sort of compromise, I came up with this patch (not tested yet,
> although it compiles okay).  How does it look to you?

>From a not-having-it-tested-either perspective, it looks good.

> +utf8_to_utf32(unicode_t *p, const u8 *s, int n)
> +utf32_to_utf8(u8 *s, unicode_t u, int maxlen)
> +utf8s_to_utf16s(wchar_t *pwcs, const u8 *s, int n)
> +utf16s_to_utf8s(u8 *s, const wchar_t *pwcs, int maxlen, int inlen,

Minor nitpick: You already have enhanced the insane parameter ordering
of wcsntombs_be(), but the meaning of all these functions' parameters
would be even more obvious if the buffer size would immediately follow
the corresponding buffer pointer.

Anyway,
Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx>


> +++ usb-2.6/fs/isofs/joliet.c
> ...
> -static int
> -wcsntombs_be(__u8 *s, const __u8 *pwcs, int inlen, int maxlen)
> -{
> ...
> -		} else {
> -			*op++ = (__u8) c;
> -		}

Just for the record: this function had the same buffer overflow bug as
utf8_wcstombs(), but it wasn't exploitable either.


Best regards,
Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux