diff options
author | Tom Gundersen <teg@jklm.no> | 2014-03-23 17:51:20 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-03-23 17:51:23 +0100 |
commit | a212d0dadd1e5e7bc0a57b8dfe2feb9111db2678 (patch) | |
tree | c19d509674c7f313fbc4e4088d074fd0fccb2150 /src/libsystemd | |
parent | 374c356979ba7222fa7e09005824fe6996b0e91e (diff) |
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 <susant@redhat.com>
Diffstat (limited to 'src/libsystemd')
-rw-r--r-- | src/libsystemd/sd-rtnl/rtnl-message.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c index e243c7b075..56fb68f39d 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; } |