diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2022-06-24 13:33:12 +0200 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2022-06-24 13:36:49 +0200 |
| commit | 186ebc34d6716dd39223f60637af9086f8a2515d (patch) | |
| tree | fd89915eca8ae0643c31fec6ce87ca93224638f0 /src/libnm-glib-aux/nm-shared-utils.c | |
| parent | d346ccd01845b94cdcedaec2c1992528ee6e7236 (diff) | |
| parent | b020a0dc29267ec099f631e93f214a0d3549ba40 (diff) | |
Merge remote-tracking branch 'debian/debian/master' into ubuntu/master
Diffstat (limited to 'src/libnm-glib-aux/nm-shared-utils.c')
| -rw-r--r-- | src/libnm-glib-aux/nm-shared-utils.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libnm-glib-aux/nm-shared-utils.c b/src/libnm-glib-aux/nm-shared-utils.c index ad99a6b9..e6ee04d7 100644 --- a/src/libnm-glib-aux/nm-shared-utils.c +++ b/src/libnm-glib-aux/nm-shared-utils.c @@ -37,6 +37,13 @@ const void *const _NM_PTRARRAY_EMPTY[1] = {NULL}; const NMIPAddr nm_ip_addr_zero = {}; +/* We use _nm_alignas(NMIPAddr) to ensure that fields for in_addr_t and + * struct in6_addr have all the same alignment. Ensure that this is suitable. */ +G_STATIC_ASSERT(_nm_alignof(in_addr_t) <= _nm_alignof(NMIPAddr)); +G_STATIC_ASSERT(_nm_alignof(struct in_addr) <= _nm_alignof(NMIPAddr)); +G_STATIC_ASSERT(_nm_alignof(struct in6_addr) <= _nm_alignof(NMIPAddr)); +G_STATIC_ASSERT(_nm_alignof(NMEtherAddr) <= _nm_alignof(NMIPAddr)); + /* this initializes a struct in_addr/in6_addr and allows for untrusted * arguments (like unsuitable @addr_family or @src_len). It's almost safe * in the sense that it verifies input arguments strictly. Also, it @@ -126,6 +133,9 @@ nm_ip_addr_set_from_variant(int addr_family, gpointer dst, GVariant *variant, in G_STATIC_ASSERT(ETH_ALEN == sizeof(struct ether_addr)); G_STATIC_ASSERT(ETH_ALEN == 6); +G_STATIC_ASSERT(ETH_ALEN == sizeof(NMEtherAddr)); + +G_STATIC_ASSERT(_nm_alignof(struct ether_addr) <= _nm_alignof(NMEtherAddr)); /*****************************************************************************/ |