Skip to content
  • Daniel P. Berrangé's avatar
    2d2023c3
    sockets: avoid string truncation warnings when copying UNIX path · 2d2023c3
    Daniel P. Berrangé authored
    
    
    In file included from /usr/include/string.h:494,
                     from include/qemu/osdep.h:101,
                     from util/qemu-sockets.c:18:
    In function ‘strncpy’,
        inlined from ‘unix_connect_saddr.isra.0’ at util/qemu-sockets.c:925:5:
    /usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ specified bound 108 equals destination size [-Wstringop-truncation]
      106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In function ‘strncpy’,
        inlined from ‘unix_listen_saddr.isra.0’ at util/qemu-sockets.c:880:5:
    /usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ specified bound 108 equals destination size [-Wstringop-truncation]
      106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    We are already validating the UNIX socket path length earlier in
    the functions. If we save this string length when we first check
    it, then we can simply use memcpy instead of strcpy later, avoiding
    the gcc truncation warnings.
    
    Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
    Message-Id: <20190501145052.12579-1-berrange@redhat.com>
    Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
    2d2023c3
    sockets: avoid string truncation warnings when copying UNIX path
    Daniel P. Berrangé authored
    
    
    In file included from /usr/include/string.h:494,
                     from include/qemu/osdep.h:101,
                     from util/qemu-sockets.c:18:
    In function ‘strncpy’,
        inlined from ‘unix_connect_saddr.isra.0’ at util/qemu-sockets.c:925:5:
    /usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ specified bound 108 equals destination size [-Wstringop-truncation]
      106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In function ‘strncpy’,
        inlined from ‘unix_listen_saddr.isra.0’ at util/qemu-sockets.c:880:5:
    /usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ specified bound 108 equals destination size [-Wstringop-truncation]
      106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    We are already validating the UNIX socket path length earlier in
    the functions. If we save this string length when we first check
    it, then we can simply use memcpy instead of strcpy later, avoiding
    the gcc truncation warnings.
    
    Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
    Message-Id: <20190501145052.12579-1-berrange@redhat.com>
    Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
Loading