diff --git a/src/mem/packet.cc b/src/mem/packet.cc index fa8d82c46..a342af634 100644 --- a/src/mem/packet.cc +++ b/src/mem/packet.cc @@ -182,11 +182,11 @@ fixPacket(PacketPtr func, PacketPtr timing) if (funcStart >= timingStart) { memcpy(timing->getPtr() + (funcStart - timingStart), func->getPtr(), - funcStart - std::min(funcEnd, timingEnd)); + std::min(funcEnd, timingEnd) - funcStart); } else { // timingStart > funcStart memcpy(timing->getPtr(), func->getPtr() + (timingStart - funcStart), - timingStart - std::min(funcEnd, timingEnd)); + std::min(funcEnd, timingEnd) - timingStart); } // we always want to keep going with a write return true;