From: Tom Gundersen Date: Sun, 23 Mar 2014 16:51:20 +0000 (+0100) Subject: sd-rtnl: message - don't skip parts of message when parsing X-Git-Tag: v212~46 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=a212d0dadd1e5e7bc0a57b8dfe2feb9111db2678;ds=inline sd-rtnl: message - don't skip parts of message when parsing If a message type occurs repeatedly let the last one win. Also, don't skip type == MAX. Based on patch from: Susant Sahani --- diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c index e243c7b07..56fb68f39 100644 --- a/src/libsystemd/sd-rtnl/rtnl-message.c +++ b/src/libsystemd/sd-rtnl/rtnl-message.c @@ -1016,7 +1016,7 @@ int rtnl_message_parse(sd_rtnl_message *m, for (; RTA_OK(rta, rt_len); rta = RTA_NEXT(rta, rt_len)) { type = rta->rta_type; - if (type < max && !tb[type]) + if (type <= max) tb[type] = (uint8_t *) rta - (uint8_t *) m->hdr; }