mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-21 07:06:04 +00:00
Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe
This commit is contained in:
committed by
Andreas Kling
parent
3a9f00c59b
commit
97e97bccab
@@ -33,8 +33,12 @@ void NetworkAdapter::send_packet(ReadonlyBytes packet)
|
||||
void NetworkAdapter::send(const MACAddress& destination, const ARPPacket& packet)
|
||||
{
|
||||
size_t size_in_bytes = sizeof(EthernetFrameHeader) + sizeof(ARPPacket);
|
||||
auto buffer = NetworkByteBuffer::create_zeroed(size_in_bytes);
|
||||
auto* eth = (EthernetFrameHeader*)buffer.data();
|
||||
auto buffer_result = NetworkByteBuffer::create_zeroed(size_in_bytes);
|
||||
if (!buffer_result.has_value()) {
|
||||
dbgln("Dropping ARP packet targeted at {} as there is not enough memory to buffer it", packet.target_hardware_address().to_string());
|
||||
return;
|
||||
}
|
||||
auto* eth = (EthernetFrameHeader*)buffer_result->data();
|
||||
eth->set_source(mac_address());
|
||||
eth->set_destination(destination);
|
||||
eth->set_ether_type(EtherType::ARP);
|
||||
|
||||
Reference in New Issue
Block a user