Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -495,14 +495,18 @@ void brcmf_flowring_add_tdls_peer(struct brcmf_flowring *flow, int ifidx,
	} else {
		search = flow->tdls_entry;
		if (memcmp(search->mac, peer, ETH_ALEN) == 0)
			return;
			goto free_entry;
		while (search->next) {
			search = search->next;
			if (memcmp(search->mac, peer, ETH_ALEN) == 0)
				return;
				goto free_entry;
		}
		search->next = tdls_entry;
	}

	flow->tdls_active = true;
	return;

free_entry:
	kfree(tdls_entry);
}