summaryrefslogtreecommitdiffstats
path: root/src/net/netdevice.c
diff options
context:
space:
mode:
authorMichael Brown2007-01-11 06:27:02 +0100
committerMichael Brown2007-01-11 06:27:02 +0100
commit037da9d840a115decf7850d0d68542cdffe7331f (patch)
tree46e9a19d56f060f52840437fe626b7639a6fcd82 /src/net/netdevice.c
parentUse pkb_pad() rather than doing it the dangerous way :) (diff)
downloadipxe-037da9d840a115decf7850d0d68542cdffe7331f.tar.gz
ipxe-037da9d840a115decf7850d0d68542cdffe7331f.tar.xz
ipxe-037da9d840a115decf7850d0d68542cdffe7331f.zip
I hate NULL pointer dereferences.
Diffstat (limited to 'src/net/netdevice.c')
-rw-r--r--src/net/netdevice.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/net/netdevice.c b/src/net/netdevice.c
index be3d1ffe..2827775b 100644
--- a/src/net/netdevice.c
+++ b/src/net/netdevice.c
@@ -91,6 +91,10 @@ int netdev_tx ( struct net_device *netdev, struct pk_buff *pkb ) {
void netdev_tx_complete ( struct net_device *netdev, struct pk_buff *pkb ) {
DBGC ( netdev, "NETDEV %p transmission %p complete\n", netdev, pkb );
+ /* Catch data corruption as early as possible */
+ assert ( pkb->list.next != NULL );
+ assert ( pkb->list.prev != NULL );
+
list_del ( &pkb->list );
free_pkb ( pkb );
}