mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-07 13:08:10 +02:00
platform: fix GCC warning about zero-length array in ethtool_get_stringset()
GCC 10 complains about accesses to elements of zero-length arrays that
overlap other members of the same object:
src/platform/nm-platform-utils.c: In function ‘ethtool_get_stringset’:
src/platform/nm-platform-utils.c:355:27: error: array subscript 0 is outside the bounds of an interior zero-length array ‘__u32[0]’ {aka ‘unsigned int[0]’} [-Werror=zero-length-bounds]
355 | len = sset_info.info.data[0];
| ~~~~~~~~~~~~~~~~~~~^~~
In file included from src/platform/nm-platform-utils.c:12:
/usr/include/linux/ethtool.h:647:8: note: while referencing ‘data’
647 | __u32 data[0];
| ^~~~
Fix this warning.
(cherry picked from commit 16e1e44c5e)
This commit is contained in:
parent
273fcf51bd
commit
286bb2f029
1 changed files with 4 additions and 1 deletions
|
|
@ -343,6 +343,7 @@ ethtool_get_stringset (SocketHandle *shandle, int stringset_id)
|
||||||
.info.reserved = 0,
|
.info.reserved = 0,
|
||||||
.info.sset_mask = (1ULL << stringset_id),
|
.info.sset_mask = (1ULL << stringset_id),
|
||||||
};
|
};
|
||||||
|
const guint32 *pdata;
|
||||||
gs_free struct ethtool_gstrings *gstrings = NULL;
|
gs_free struct ethtool_gstrings *gstrings = NULL;
|
||||||
gsize gstrings_len;
|
gsize gstrings_len;
|
||||||
guint32 i, len;
|
guint32 i, len;
|
||||||
|
|
@ -352,7 +353,9 @@ ethtool_get_stringset (SocketHandle *shandle, int stringset_id)
|
||||||
if (!sset_info.info.sset_mask)
|
if (!sset_info.info.sset_mask)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
len = sset_info.info.data[0];
|
pdata = (guint32 *) sset_info.info.data;
|
||||||
|
|
||||||
|
len = *pdata;
|
||||||
|
|
||||||
gstrings_len = sizeof (*gstrings) + (len * ETH_GSTRING_LEN);
|
gstrings_len = sizeof (*gstrings) + (len * ETH_GSTRING_LEN);
|
||||||
gstrings = g_malloc0 (gstrings_len);
|
gstrings = g_malloc0 (gstrings_len);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue