Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1386458

Re: [PATCH] udf: Fix conversion of 'dstring' fields to UTF8

From Jan Kara <jack@suse.cz>
Newsgroups linux.kernel
Subject Re: [PATCH] udf: Fix conversion of 'dstring' fields to UTF8
Date 2016-04-25 15:50 +0200
Message-ID <rrP3K-6Kr-29@gated-at.bofh.it> (permalink)
References <rrMIy-4QJ-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon 25-04-16 06:19:38, Andrew Gabbasov wrote:
> Commit 9293fcfbc1812a22ad5ce1b542eb90c1bbe01be1
> ("udf: Remove struct ustr as non-needed intermediate storage"),
> while getting rid of 'struct ustr', does not take any special care
> of 'dstring' fields and effectively use fixed field length instead
> of actual string length, encoded in the last byte of the field.
> 
> Also, commit 484a10f49387e4386bf2708532e75bf78ffea2cb
> ("udf: Merge linux specific translation into CS0 conversion function")
> introduced checking of the length of the string being converted,
> requiring proper alignment to number of bytes constituing each
> character.
> 
> The UDF volume identifier is represented as a 32-bytes 'dstring',
> and needs to be converted from CS0 to UTF8, while mounting UDF
> filesystem. The changes in mentioned commits can in some cases
> lead to incorrect handling of volume identifier:
> - if the actual string in 'dstring' is of maximal length and
> does not have zero bytes separating it from dstring encoded
> length in last byte, that last byte may be included in conversion,
> thus making incorrect resulting string;
> - if the identifier is encoded with 2-bytes characters (compression
> code is 16), the length of 31 bytes (32 bytes of field length minus
> 1 byte of compression code), taken as the string length, is reported
> as an incorrect (unaligned) length, and the conversion fails, which
> in its turn leads to volume mounting failure.
> 
> This patch introduces handling of 'dstring' encoded length field
> in udf_CS0toUTF8 function, that is used in all and only cases
> when 'dstring' fields are converted. Currently these cases are
> processing of Volume Identifier and Volume Set Identifier fields.
> The function is also renamed to udf_dstrCS0toUTF8 to distinctly
> indicate that it handles 'dstring' input.

Thanks. I've merged the patch to my tree.

								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH] udf: Fix conversion of 'dstring' fields to UTF8 Andrew Gabbasov <andrew_gabbasov@mentor.com> - 2016-04-25 13:20 +0200
  Re: [PATCH] udf: Fix conversion of 'dstring' fields to UTF8 Jan Kara <jack@suse.cz> - 2016-04-25 15:50 +0200

csiph-web