lkml.org 
[lkml]   [2024]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/11] staging: vc04_services: changen strncpy() to strscpy_pad()
    Date
    From: Arnd Bergmann <arnd@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@arndb.de>
    ---
    drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
    index 258aa0e37f55..6ca5797aeae5 100644
    --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
    +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
    @@ -937,8 +937,8 @@ static int create_component(struct vchiq_mmal_instance *instance,
    /* build component create message */
    m.h.type = MMAL_MSG_TYPE_COMPONENT_CREATE;
    m.u.component_create.client_component = component->client_component;
    - strncpy(m.u.component_create.name, name,
    - sizeof(m.u.component_create.name));
    + strscpy_pad(m.u.component_create.name, name,
    + sizeof(m.u.component_create.name));

    ret = send_synchronous_mmal_msg(instance, &m,
    sizeof(m.u.component_create),
    --
    2.39.2

    \
     
     \ /
      Last update: 2024-03-28 15:05    [W:4.651 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site