diff options
| author | Christian Marangi | 2023-06-24 12:34:12 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2023-06-24 18:52:27 +0000 |
| commit | 493e1589bc8b67a34d2576c5793dfc4ffc9e52ed (patch) | |
| tree | beaa437668e4f6cbbb42928cc9b639be385ce6c2 | |
| parent | edf3aced9f9ae4b07cfbb98d3919ddc7a9e44362 (diff) | |
| download | netifd-493e1589bc8b67a34d2576c5793dfc4ffc9e52ed.tar.gz | |
bridge: fix coverity false positive report
Fix Coverity Defect 1532481 reporting a Resource leak when
!bm->node.avl.key is false in bridge_hotplug_add.
This is not a real issue, since bm->node.avl.key is always NULL for newly
allocated entries and guaranteed to be non-NULL for entries returned by
vlist_find.
Fixes: edf3aced9f9a ("bridge: add support for adding vlan ranges via hotplug")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
| -rw-r--r-- | bridge.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -930,12 +930,15 @@ bridge_hotplug_add(struct device *dev, struct device *member, struct blob_attr * { struct bridge_state *bst = container_of(dev, struct bridge_state, dev); struct bridge_member *bm; + bool new_entry = false; bm = vlist_find(&bst->members, member->ifname, bm, node); - if (!bm) + if (!bm) { + new_entry = true; bm = bridge_alloc_member(bst, member->ifname, member, true); + } bridge_hotplug_set_member_vlans(bst, vlan, member->ifname, bm, true); - if (!bm->node.avl.key) + if (new_entry) bridge_insert_member(bm, member->ifname); return 0; |