[Spice-devel] [PATCH spice-gtk 3/4] util: add unix2dos and dos2unix

Hans de Goede hdegoede at redhat.com
Sat Aug 24 05:48:14 PDT 2013


Hi,

On 08/24/2013 02:32 PM, Marc-André Lureau wrote:
>
>
> ----- Mensaje original -----
>> Hi,
>>
>> On 08/24/2013 02:17 PM, Marc-André Lureau wrote:
>>
>> <snip>
>>
>>>>> +
>>>>> +    if (!g_utf8_validate(str, len, NULL)) {
>>>>> +        g_set_error_literal(error, G_CONVERT_ERROR,
>>>>> +                            G_CONVERT_ERROR_ILLEGAL_SEQUENCE,
>>>>> +                            "Invalid byte sequence in conversion
>>>>> input");
>>>>> +        return -1;
>>>>> +    }
>>>>
>>>>
>>>> And once you simply treat this as a regular C-string without worrying
>>>> about multi-byte encodings you can also drop this.
>>>
>>> Actually, during implementation, I have encountered/produced invalid
>>> utf8 that will break later on in gtk+, so I prefer to validate the
>>> production.
>>
>> Thinking more about this, if we want to do utf-8 validation, it should not
>> be done here, but rather in gtk/channel-main.c, since this code only gets
>> called in certain guest-line-end + direction cases, and if we want to do
>> utf-8 validation we should always do it.
>
> Perhaps, although the difference is that here we do parse/modify the string,
> so it's important to check we don't produce garbage.

Right, but since garbage in = garbage out, you're not only checking that
the conversion code did not foo-bar, you're also validating the original input,
at which point it makes sense to me to always do that even when not doing
conversion.

Regards,

Hans


More information about the Spice-devel mailing list