On 4/25/25 9:10 PM, Kevin Traynor wrote:
> On 24/04/2025 12:30, Ilya Maximets wrote:
>> Some newer versions of GCC 15 complain:
>>
>>  lib/uuid.c:308:40: error:
>>    initializer-string for array of 'char' truncates NUL terminator but
>>    destination lacks 'nonstring' attribute (37 chars into 36 available)
>>    [-Werror=unterminated-string-initialization]
>>
>>  static const char tmpl[UUID_LEN] = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
>>                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> We could add 1 to the size or use the attribute, but it seems simpler
>> to just convert the template into a const string pointer.  There
>> shouldn't be any practical difference as the string will be static
>> either way.
>>
>> It's not really a bug, the code is fine as it is, but adding a 'Fixes'
>> tag just as a reference for backports.
>>
>> Fixes: c80eac1f85df ("ovn-controller: Tie OpenFlow and logical flows using 
>> OpenFlow cookie.")
>> Signed-off-by: Ilya Maximets <i.maxim...@ovn.org>
>> ---
>>  lib/uuid.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/lib/uuid.c b/lib/uuid.c
>> index 8a16606da..e4caa0ec6 100644
>> --- a/lib/uuid.c
>> +++ b/lib/uuid.c
>> @@ -305,7 +305,7 @@ error:
>>  int
>>  uuid_is_partial_string(const char *s)
>>  {
>> -    static const char tmpl[UUID_LEN] = 
>> "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
>> +    const char *tmpl = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
>>      size_t i;
>>      for (i = 0; i < UUID_LEN; i++) {
>>          if (s[i] == '\0') {
> 
> Checked with gcc 15.0.1
> 
> Acked-by: Kevin Traynor <ktray...@redhat.com>
> 

Thanks, Eelco and Kevin!
Applied to all supported branches down to 3.2.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to