diff --git a/reactos/subsystems/win32/win32k/objects/dc.c b/reactos/subsystems/win32/win32k/objects/dc.c index e80d8ffeea1..dc00f2aeb6d 100644 --- a/reactos/subsystems/win32/win32k/objects/dc.c +++ b/reactos/subsystems/win32/win32k/objects/dc.c @@ -2998,9 +2998,9 @@ IntEnumDisplaySettings( ASSERT(CachedMode != NULL); - RtlCopyMemory(pDevMode, CachedMode, pDevMode->dmSize); + RtlCopyMemory(pDevMode, CachedMode, min(pDevMode->dmSize, CachedMode->dmSize)); RtlZeroMemory(pDevMode + pDevMode->dmSize, pDevMode->dmDriverExtra); - RtlCopyMemory(pDevMode + pDevMode->dmSize, CachedMode + CachedMode->dmSize, min(pDevMode->dmDriverExtra, CachedMode->dmDriverExtra)); + RtlCopyMemory(pDevMode + min(pDevMode->dmSize, CachedMode->dmSize), CachedMode + CachedMode->dmSize, min(pDevMode->dmDriverExtra, CachedMode->dmDriverExtra)); return TRUE; }