diff --git a/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.cpp b/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.cpp index 631913f2d5..f1aa756fa7 100644 --- a/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.cpp +++ b/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.cpp @@ -435,7 +435,7 @@ void CEXIETHERNET::DirectFIFOWrite(const u8* data, u32 size) // GMAC instead of finagling with packet descriptors and such u16* tx_fifo_count = (u16*)&mBbaMem[BBA_TXFIFOCNT]; - if (*tx_fifo_count < BBA_TXFIFO_SIZE) + if (data != nullptr && *tx_fifo_count < BBA_TXFIFO_SIZE) { const u32 max_size = BBA_TXFIFO_SIZE - *tx_fifo_count; memcpy(tx_fifo.get() + *tx_fifo_count, data, std::min(size, max_size));