From: Lennart Poettering Date: Wed, 8 Apr 2015 10:53:50 +0000 (+0200) Subject: sd-rtnl: properly size attribute array if IFA_FLAGS was missing X-Git-Tag: v220~540 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de79f906ab614dd0d53129c4d4aa18a964864f39;p=thirdparty%2Fsystemd.git sd-rtnl: properly size attribute array if IFA_FLAGS was missing --- diff --git a/src/libsystemd/sd-rtnl/rtnl-types.c b/src/libsystemd/sd-rtnl/rtnl-types.c index 5ae47900a33..49784bf6c63 100644 --- a/src/libsystemd/sd-rtnl/rtnl-types.c +++ b/src/libsystemd/sd-rtnl/rtnl-types.c @@ -348,7 +348,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 },