Re: [PATCH 1/1] vboxsf: fix building with GCC 15
From: Hans de Goede
Date: Tue Jan 21 2025 - 11:28:49 EST
Hi,
On 21-Jan-25 5:26 PM, Brahmajit Das wrote:
> Building with GCC 15 results in build error
> fs/vboxsf/super.c:24:54: error: initializer-string for array of ‘unsigned char’ is too long [-Werror=unterminated-string-initialization]
> 24 | static const unsigned char VBSF_MOUNT_SIGNATURE[4] = "\000\377\376\375";
> | ^~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
> Due to GCC having enabled -Werror=unterminated-string-initialization[0]
> by default. Separately initializing each array element of
> VBSF_MOUNT_SIGNATURE to ensure NUL termination, thus satisfying GCC 15
> and fixing the build error.
>
> [0]: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wno-unterminated-string-initialization
>
> Signed-off-by: Brahmajit Das <brahmajit.xyz@xxxxxxxxx>
Thanks, patch looks good to me:
Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Regards,
Hans
> ---
> fs/vboxsf/super.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/vboxsf/super.c b/fs/vboxsf/super.c
> index e95b8a48d8a0..1d94bb784108 100644
> --- a/fs/vboxsf/super.c
> +++ b/fs/vboxsf/super.c
> @@ -21,7 +21,8 @@
>
> #define VBOXSF_SUPER_MAGIC 0x786f4256 /* 'VBox' little endian */
>
> -static const unsigned char VBSF_MOUNT_SIGNATURE[4] = "\000\377\376\375";
> +static const unsigned char VBSF_MOUNT_SIGNATURE[4] = { '\000', '\377', '\376',
> + '\375' };
>
> static int follow_symlinks;
> module_param(follow_symlinks, int, 0444);