summaryrefslogtreecommitdiffstats
path: root/src/net/80211
diff options
context:
space:
mode:
authorJoshua Oreman2010-07-30 05:13:31 +0200
committerMichael Brown2010-08-01 18:29:57 +0200
commit73aea88a62ac46464a2eec7a94a6350ae7a36bbf (patch)
tree9b52f7595b8f4e2f0a07e34c0fa7b067fc36916f /src/net/80211
parent[802.11] Use correct name for sec80211_detect() (diff)
downloadipxe-73aea88a62ac46464a2eec7a94a6350ae7a36bbf.tar.gz
ipxe-73aea88a62ac46464a2eec7a94a6350ae7a36bbf.tar.xz
ipxe-73aea88a62ac46464a2eec7a94a6350ae7a36bbf.zip
[802.11] Fix a use-after-free
When we received an encrypted packet, after replacing it with its decrypted version and freeing the encrypted original, we would continue to look at the header of the now-freed original packet. Fix by moving the header pointer to point at the decrypted packet instead. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/80211')
-rw-r--r--src/net/80211/net80211.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/80211/net80211.c b/src/net/80211/net80211.c
index 7b391145..ffa5c911 100644
--- a/src/net/80211/net80211.c
+++ b/src/net/80211/net80211.c
@@ -2720,6 +2720,7 @@ void net80211_rx ( struct net80211_device *dev, struct io_buffer *iob,
}
free_iob ( iob );
iob = niob;
+ hdr = iob->data;
}
dev->last_signal = signal;