diff --git a/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp b/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp index b7ee50b657..52e02919ef 100644 --- a/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp +++ b/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp @@ -439,16 +439,19 @@ FragmentPacket::Hash(void *_packet, const void *_key, uint32 range) } -void +/*static*/ void FragmentPacket::StaleTimer(struct net_timer *timer, void *data) { - BenaphoreLocker locker(&sFragmentLock); - hash_remove(sFragmentHash, (FragmentPacket *)data); + FragmentPacket *packet = (FragmentPacket *)data; + TRACE(("Assembling FragmentPacket %p timed out!\n", packet)); - TRACE(("Assembling FragmentPacket timed out!\n")); - delete (FragmentPacket *)data; + BenaphoreLocker locker(&sFragmentLock); + + hash_remove(sFragmentHash, packet); + delete packet; } + // #pragma mark -