chiark / gitweb /
sd-rtnl: properly size attribute array if IFA_FLAGS was missing
authorLennart Poettering <lennart@poettering.net>
Wed, 8 Apr 2015 10:53:50 +0000 (12:53 +0200)
committerSven Eden <yamakuzure@gmx.net>
Tue, 14 Mar 2017 06:53:04 +0000 (07:53 +0100)
src/libelogind/sd-rtnl/rtnl-types.c

index 3916b0b..792c532 100644 (file)
@@ -372,7 +372,9 @@ static const NLTypeSystem rtnl_link_type_system = {
         .types = rtnl_link_types,
 };
 
-static const NLType rtnl_address_types[IFA_MAX + 1] = {
+/* IFA_FLAGS was defined in kernel 3.14, but we still support older
+ * kernels where IFA_MAX is lower. */
+static const NLType rtnl_address_types[CONST_MAX(IFA_MAX, IFA_FLAGS) + 1] = {
         [IFA_ADDRESS]           = { .type = NLA_IN_ADDR },
         [IFA_LOCAL]             = { .type = NLA_IN_ADDR },
         [IFA_LABEL]             = { .type = NLA_STRING, .size = IFNAMSIZ - 1 },