Skip to content

Conversation

@yarda
Copy link

@yarda yarda commented Aug 7, 2025

Compilers usually warns or errors on such allocations. This would require special compiler parameter or attribute to silence it. Unfortunately, it is compiler specific, e.g. with gcc one could use "attribute ((nonstring))" or with C23 just "[[nonstring]]" or gcc parameter
"-Wno-error=unterminated-string-initialization". With other compilers it's different. So do not over-complicate things and allocate it just one more byte longer with the dummy NULL which should silence most of the compilers. It's static allocation, just one byte, the overhead should be negligible.

Compilers usually warns or errors on such allocations. This would require
special compiler parameter or attribute to silence it. Unfortunately, it is
compiler specific, e.g. with gcc one could use "__attribute__ ((nonstring))"
or with C23 just "[[nonstring]]" or gcc parameter
"-Wno-error=unterminated-string-initialization". With other compilers
it's different. So do not over-complicate things and allocate it just one
more byte longer with the dummy NULL which should silence most of the
compilers. It's static allocation, just one byte, the overhead should be
negligible.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
@yarda
Copy link
Author

yarda commented Aug 7, 2025

Fedora recently switched to the gcc-15 with C23 as the default standard and tighten the checks, so without the patch it fails to compile with the default compiler settings, downstream Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=2340611

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant