29.04.2014 13:11, Paolo Bonzini пишет:
> Il 29/04/2014 10:42, Michael Tokarev ha scritto:
>>>>>> >>> > Also replace single instance pstrcpy() in vcard_emul_nss.c
>>>>>> >>> > to strncpy().  This reverts commit 2e679780ae86c6ca8.
>>>> >> An alternative would be to use g_strlcpy which guarantees
>>>> >> nul-termination.
>>> >
>>> > Yes, that is better.
>> Actually in this very place it isn't really important, given we
>> always know the exact length of the source and are able to adjust
>> it to fit into the buffer.  With g_strlcat() code becomes a bit
>> more ugly... ;)
> 
> Uh, now I looked at NEXT_TOKEN and g_strlcpy suddenly becomes less palatable.

Yess, that's exactly what I mean.

>     mempcpy would be nice actually, like
> 
>     *mempcpy(dest, src, type_params_length) = 0;
> 
> but it is not portable and not wrapped by glib.
> 
> Another good alternative is
> 
> char *type_str;
> ...
> type_str = g_strndup(type_params, type_params_length);
> type = vcard_emul_type_from_string(type_str);
> g_free(type_str);

Actually it is the best one, -- type_str is g_strndup'ed down the line.

I'll do that, in a separate patch before this series.

/mjt

Reply via email to