diff --git a/dde_ipxe/src/drivers/nic/main.cc b/dde_ipxe/src/drivers/nic/main.cc index 9e4a04700..4eae04191 100644 --- a/dde_ipxe/src/drivers/nic/main.cc +++ b/dde_ipxe/src/drivers/nic/main.cc @@ -65,9 +65,13 @@ namespace Ipxe { void rx_handler(const char *packet, unsigned packet_len) { - void *buffer = _alloc.alloc(packet_len); - Genode::memcpy(buffer, packet, packet_len); - _alloc.submit(); + try { + void *buffer = _alloc.alloc(packet_len); + Genode::memcpy(buffer, packet, packet_len); + _alloc.submit(); + } catch (...) { + PDBG("failed to process received packet"); + } }