Bug #243
closedbatadv_tt_local_*: Double batadv_softif_vlan_put
0%
Description
batadv_tt_local_remove, batadv_tt_local_table_free, batadv_tt_local_purge_pending_clients (and maybe other places) uses a get + a double put of batadv_softif_vlan_put without a direct reference (pointer) in batadv_tt_local_entry. So it could be that the reference which is free'd is actually for a different object in memory or maybe was never obtained.
It looks like there should be an explicit reference (pointer) in batadv_tt_local_entry to be sure that the correct reference is free'd/put.
Updated by Sven Eckelmann over 8 years ago
- Related to Bug #239: batadv_softif_create_vlan: Missing list checks for *list_add* added
Updated by Sven Eckelmann over 8 years ago
Proof-of-concept patches are available in ecsv/no_double_trouble
RFC of the patch was submitted to the mailing list as https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/1457258842-10389-1-git-send-email-sven@narfation.org/
Updated by Sven Eckelmann over 8 years ago
- Status changed from New to In Progress
I've posted the cleaned up version of the RFC as patch because there was no objection regarding the idea behind the fix.
Updated by Marek Lindner over 8 years ago
- Status changed from In Progress to Closed
Sven Eckelmann wrote:
I've posted the cleaned up version of the RFC as patch because there was no objection regarding the idea behind the fix.
Merged! Thanks!