Skip to content
  • Akihiko Odaki's avatar
    dbdea0db
    util/vfio-helpers: Use g_file_read_link() · dbdea0db
    Akihiko Odaki authored
    
    
    When _FORTIFY_SOURCE=2, glibc version is 2.35, and GCC version is
    12.1.0, the compiler complains as follows:
    
    In file included from /usr/include/features.h:490,
                     from /usr/include/bits/libc-header-start.h:33,
                     from /usr/include/stdint.h:26,
                     from /usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/include/stdint.h:9,
                     from /home/alarm/q/var/qemu/include/qemu/osdep.h:94,
                     from ../util/vfio-helpers.c:13:
    In function 'readlink',
        inlined from 'sysfs_find_group_file' at ../util/vfio-helpers.c:116:9,
        inlined from 'qemu_vfio_init_pci' at ../util/vfio-helpers.c:326:18,
        inlined from 'qemu_vfio_open_pci' at ../util/vfio-helpers.c:517:9:
    /usr/include/bits/unistd.h:119:10: error: argument 2 is null but the corresponding size argument 3 value is 4095 [-Werror=nonnull]
      119 |   return __glibc_fortify (readlink, __len, sizeof (char),
          |          ^~~~~~~~~~~~~~~
    
    This error implies the allocated buffer can be NULL. Use
    g_file_read_link(), which allocates buffer automatically to avoid the
    error.
    
    Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@daynix.com>
    Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: default avatarCédric Le Goater <clg@redhat.com>
    Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
    dbdea0db
    util/vfio-helpers: Use g_file_read_link()
    Akihiko Odaki authored
    
    
    When _FORTIFY_SOURCE=2, glibc version is 2.35, and GCC version is
    12.1.0, the compiler complains as follows:
    
    In file included from /usr/include/features.h:490,
                     from /usr/include/bits/libc-header-start.h:33,
                     from /usr/include/stdint.h:26,
                     from /usr/lib/gcc/aarch64-unknown-linux-gnu/12.1.0/include/stdint.h:9,
                     from /home/alarm/q/var/qemu/include/qemu/osdep.h:94,
                     from ../util/vfio-helpers.c:13:
    In function 'readlink',
        inlined from 'sysfs_find_group_file' at ../util/vfio-helpers.c:116:9,
        inlined from 'qemu_vfio_init_pci' at ../util/vfio-helpers.c:326:18,
        inlined from 'qemu_vfio_open_pci' at ../util/vfio-helpers.c:517:9:
    /usr/include/bits/unistd.h:119:10: error: argument 2 is null but the corresponding size argument 3 value is 4095 [-Werror=nonnull]
      119 |   return __glibc_fortify (readlink, __len, sizeof (char),
          |          ^~~~~~~~~~~~~~~
    
    This error implies the allocated buffer can be NULL. Use
    g_file_read_link(), which allocates buffer automatically to avoid the
    error.
    
    Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@daynix.com>
    Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: default avatarCédric Le Goater <clg@redhat.com>
    Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
Loading