//\r
// If hit, record current breakpoint\r
//\r
- DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX] = DebuggerPrivate->DebuggerBreakpointContext[Index];\r
+ CopyMem (\r
+ &DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX],\r
+ &DebuggerPrivate->DebuggerBreakpointContext[Index],\r
+ sizeof (DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX])\r
+ );\r
DebuggerPrivate->DebuggerBreakpointContext[EFI_DEBUGGER_BREAKPOINT_MAX].State = TRUE;\r
//\r
// Do not set Breakpoint flag. We record the address here just let it not patch breakpoint address when de-init.\r
// Delete this breakpoint\r
//\r
for (BpIndex = Index; BpIndex < DebuggerPrivate->DebuggerBreakpointCount - 1; BpIndex++) {\r
- DebuggerPrivate->DebuggerBreakpointContext[BpIndex] = DebuggerPrivate->DebuggerBreakpointContext[BpIndex + 1];\r
+ CopyMem (\r
+ &DebuggerPrivate->DebuggerBreakpointContext[BpIndex],\r
+ &DebuggerPrivate->DebuggerBreakpointContext[BpIndex + 1],\r
+ sizeof (DebuggerPrivate->DebuggerBreakpointContext[BpIndex])\r
+ );\r
}\r
ZeroMem (\r
&DebuggerPrivate->DebuggerBreakpointContext[BpIndex],\r
//\r
ASSERT (mDebuggerPrivate.TraceEntry[EFI_DEBUGGER_TRACE_MAX].Type == Type);\r
for (Index = 0; Index < EFI_DEBUGGER_TRACE_MAX; Index++) {\r
- mDebuggerPrivate.TraceEntry[Index] = mDebuggerPrivate.TraceEntry[Index + 1];\r
+ CopyMem (\r
+ &mDebuggerPrivate.TraceEntry[Index],\r
+ &mDebuggerPrivate.TraceEntry[Index + 1],\r
+ sizeof (mDebuggerPrivate.TraceEntry[Index])\r
+ );\r
}\r
mDebuggerPrivate.TraceEntry[EFI_DEBUGGER_CALLSTACK_MAX - 1].DestAddress = DestEntry;\r
mDebuggerPrivate.TraceEntryCount = EFI_DEBUGGER_TRACE_MAX;\r