Commit bc981641 authored by Arend Van Spriel's avatar Arend Van Spriel Committed by Kalle Valo

brcmfmac: fix memory leak in brcmf_flowring_add_tdls_peer()

In the error paths in brcmf_flowring_add_tdls_peer() the allocated
resource should be freed.
Reviewed-by: default avatarHante Meuleman <hante.meuleman@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 704d1c6b
...@@ -495,14 +495,18 @@ void brcmf_flowring_add_tdls_peer(struct brcmf_flowring *flow, int ifidx, ...@@ -495,14 +495,18 @@ void brcmf_flowring_add_tdls_peer(struct brcmf_flowring *flow, int ifidx,
} else { } else {
search = flow->tdls_entry; search = flow->tdls_entry;
if (memcmp(search->mac, peer, ETH_ALEN) == 0) if (memcmp(search->mac, peer, ETH_ALEN) == 0)
return; goto free_entry;
while (search->next) { while (search->next) {
search = search->next; search = search->next;
if (memcmp(search->mac, peer, ETH_ALEN) == 0) if (memcmp(search->mac, peer, ETH_ALEN) == 0)
return; goto free_entry;
} }
search->next = tdls_entry; search->next = tdls_entry;
} }
flow->tdls_active = true; flow->tdls_active = true;
return;
free_entry:
kfree(tdls_entry);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment