libnm: avoid "-Wnonnull-compare warnings with "static" array declarator

With a static array, we indicate that the argument must not be NULL.
Gcc-14.0.1-0.2.fc40 now warns against that:

    CC       src/libnm-base/libnm_base_la-nm-base.lo
  In file included from ../src/libnm-std-aux/nm-default-std.h:102,
                   from ../src/libnm-glib-aux/nm-default-glib.h:11,
                   from ../src/libnm-glib-aux/nm-default-glib-i18n-lib.h:13,
                   from ../src/libnm-base/nm-base.c:3:
  ../src/libnm-base/nm-base.c: In function 'nm_net_devname_infiniband':
  ../src/libnm-std-aux/nm-std-aux.h:191:12: error: 'nonnull' argument 'name' compared to NULL [-Werror=nonnull-compare]
    191 |         if (expr)                      \
        |            ^
  ../src/libnm-std-aux/nm-std-aux.h:202:27: note: in expansion of macro '_NM_BOOLEAN_EXPR_IMPL'
    202 |                           _NM_BOOLEAN_EXPR_IMPL(NM_UNIQ, expr))
        |                           ^~~~~~~~~~~~~~~~~~~~~
  ../src/libnm-glib-aux/nm-macros-internal.h:1693:31: note: in expansion of macro 'NM_BOOLEAN_EXPR'
   1693 | #define _G_BOOLEAN_EXPR(expr) NM_BOOLEAN_EXPR(expr)
        |                               ^~~~~~~~~~~~~~~
  /usr/include/glib-2.0/glib/gmacros.h:1244:43: note: in expansion of macro '_G_BOOLEAN_EXPR'
   1244 | #define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
        |                                           ^~~~~~~~~~~~~~~
  /usr/include/glib-2.0/glib/gmessages.h:656:9: note: in expansion of macro 'G_LIKELY'
    656 |     if (G_LIKELY (expr)) \
        |         ^~~~~~~~
  ../src/libnm-base/nm-base.c:57:5: note: in expansion of macro 'g_return_val_if_fail'
     57 |     g_return_val_if_fail(name, NULL);
        |     ^~~~~~~~~~~~~~~~~~~~

  ../src/libnm-core-impl/nm-setting-wireguard.c: In function '_nm_wireguard_peer_set_public_key_bin':
  ../src/libnm-core-impl/nm-setting-wireguard.c:316:8: error: 'nonnull' argument 'public_key' compared to NULL [-Werror=nonnull-compare]
    316 |     if (!public_key)
        |        ^

Convert these checks to an nm_assert() to suppress the warning.
This commit is contained in:
Thomas Haller 2024-01-23 10:13:25 +01:00 committed by Beniamino Galvani
parent 62c1745f62
commit 7a031eef5d
2 changed files with 4 additions and 4 deletions

View file

@ -54,7 +54,8 @@ nm_dhcp_iaid_from_hexstr(const char *str, guint32 *out_value)
const char *
nm_net_devname_infiniband(char name[static NM_IFNAMSIZ], const char *parent_name, int p_key)
{
g_return_val_if_fail(name, NULL);
nm_assert(name);
g_return_val_if_fail(parent_name && parent_name[0], NULL);
g_return_val_if_fail(strlen(parent_name) < NM_IFNAMSIZ, NULL);

View file

@ -311,10 +311,9 @@ _nm_wireguard_peer_set_public_key_bin(NMWireGuardPeer *self,
{
g_return_if_fail(NM_IS_WIREGUARD_PEER(self, FALSE));
nm_clear_g_free(&self->public_key);
nm_assert(public_key);
if (!public_key)
return;
nm_clear_g_free(&self->public_key);
self->public_key = g_base64_encode(public_key, NM_WIREGUARD_PUBLIC_KEY_LEN);
self->public_key_valid = TRUE;