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: v226.4~1^2~504 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=a0e52b23ba47791537e30c3f256ae7b7d1374090;p=elogind.git sd-rtnl: properly size attribute array if IFA_FLAGS was missing --- diff --git a/src/libelogind/sd-rtnl/rtnl-types.c b/src/libelogind/sd-rtnl/rtnl-types.c index 3916b0bd6..792c5327d 100644 --- a/src/libelogind/sd-rtnl/rtnl-types.c +++ b/src/libelogind/sd-rtnl/rtnl-types.c @@ -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 },