batman-adv: fix multicast counter when purging originators
authorLinus Lüssing <linus.luessing@c0d3.blue>
Thu, 30 Oct 2014 04:40:47 +0000 (05:40 +0100)
committerAntonio Quartulli <antonio@meshcoding.com>
Tue, 6 Jan 2015 10:06:04 +0000 (11:06 +0100)
commita5164886b0bdadd662f9715a7541432c4d1a0d99
treed3c4c5bbaec4cf190551490635fadc0f8f565b9f
parente8829f007e982a9a8fb4023109233d5f344d4657
batman-adv: fix multicast counter when purging originators

When purging an orig_node we should only decrease counter tracking the
number of nodes without multicast optimizations support if it was
increased through this orig_node before.

A not yet quite initialized orig_node (meaning it did not have its turn
in the mcast-tvlv handler so far) which gets purged would not adhere to
this and will lead to a counter imbalance.

Fixing this by adding a check whether the orig_node is mcast-initalized
before decreasing the counter in the mcast-orig_node-purging routine.

Introduced by 60432d756cf06e597ef9da511402dd059b112447
("batman-adv: Announce new capability via multicast TVLV")

Reported-by: Tobias Hachmer <tobias@hachmer.de>
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
net/batman-adv/multicast.c