[PATCH] staging: vc04_services: changen strncpy() to strscpy_pad()

Dan Carpenter dan.carpenter at linaro.org
Wed Mar 13 10:56:51 PDT 2024


On Wed, Mar 13, 2024 at 05:36:56PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd at arndb.de>
> 
> gcc-14 warns about this strncpy() that results in a non-terminated
> string for an overflow:
> 
> In file included from include/linux/string.h:369,
>                  from drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c:20:
> In function 'strncpy',
>     inlined from 'create_component' at drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c:940:2:
> include/linux/fortify-string.h:108:33: error: '__builtin_strncpy' specified bound 128 equals destination size [-Werror=stringop-truncation]
> 
> Change it to strscpy_pad(), which produces a properly terminated and
> zero-padded string.
> 
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> ---

Thanks, Arnd!

Reviewed-by: Dan Carpenter <dan.carpenter at linaro.org>

(Greg is on vacation so I'm playing Greg for two weeks).

In real life, 128 is way larger than necessary so it's not an issue,
which is presumably why you left off the Fixes tag.  Anyway, it's always
good to replace another strncpy().

I see another bug here where m.u.component_create.pid is never
initialized.  I'll send a "m.u.component_create.pid = 0;" fix for that
based on top of your patch.

regards,
dan carpenter




More information about the linux-rpi-kernel mailing list