SIGN IN SIGN UP

unicode: Properly reject invalid encoding version strings

Casefolding filesystems can request a specific version of UTF-8 at
mount-time.  utf8_parse_version then assembles the "major.minor.rev"
string into an unsigned int.  There were two issues with the parser
logic: first, individual fields are read as signed int, allowing
negative numbers, second, an overflowed field will result in unexpected
results. Something like the below actually succeeds to mount using
utf8-12.1.0.

 mount -t tmpfs -o casefold=utf8-12.0.256 none /mnt
[   10.867859] tmpfs: Using encoding : utf8-12.1.0

Signed-off-by: Gabriel Krisman Bertazi <krisman@suse.de>
G
Gabriel Krisman Bertazi committed
a511442085c140da9cdbe60e3f0fab1c71480801
Parent: 0802419