| 1 |
From ef6c9d2af50ac03b28ad92ea90105047d8bc9948 Mon Sep 17 00:00:00 2001
|
| 2 |
From: Alexandre Rostovtsev <tetromino@gmail.com>
|
| 3 |
Date: Sun, 12 Sep 2010 23:53:26 -0400
|
| 4 |
Subject: [PATCH] Fix VbeModeInfoBlock memcpy.
|
| 5 |
|
| 6 |
Reserved2 is 189 bytes (not 188). From LinBytesPerScanLine to end of
|
| 7 |
Reserved2 we have 189 + 16 = 205 bytes (not 206). From PhysBasePtr to end
|
| 8 |
of Reserved2 we have 189 + 26 = 215 bytes (not 216).
|
| 9 |
---
|
| 10 |
hw/xfree86/vbe/vbe.c | 6 +++---
|
| 11 |
1 files changed, 3 insertions(+), 3 deletions(-)
|
| 12 |
|
| 13 |
diff --git a/hw/xfree86/vbe/vbe.c b/hw/xfree86/vbe/vbe.c
|
| 14 |
index 0b34648..2051577 100644
|
| 15 |
--- a/hw/xfree86/vbe/vbe.c
|
| 16 |
+++ b/hw/xfree86/vbe/vbe.c
|
| 17 |
@@ -583,13 +583,13 @@ VBEGetModeInfo(vbeInfoPtr pVbe, int mode)
|
| 18 |
block->LinRsvdMaskSize = ((char*)pVbe->memory)[60];
|
| 19 |
block->LinRsvdFieldPosition = ((char*)pVbe->memory)[61];
|
| 20 |
block->MaxPixelClock = *(CARD32*)(((char*)pVbe->memory) + 62);
|
| 21 |
- memcpy(&block->Reserved2, ((char*)pVbe->memory) + 66, 188);
|
| 22 |
+ memcpy(&block->Reserved2, ((char*)pVbe->memory) + 66, 189);
|
| 23 |
}
|
| 24 |
else
|
| 25 |
- memcpy(&block->LinBytesPerScanLine, ((char*)pVbe->memory) + 50, 206);
|
| 26 |
+ memcpy(&block->LinBytesPerScanLine, ((char*)pVbe->memory) + 50, 205);
|
| 27 |
}
|
| 28 |
else
|
| 29 |
- memcpy(&block->PhysBasePtr, ((char*)pVbe->memory) + 40, 216);
|
| 30 |
+ memcpy(&block->PhysBasePtr, ((char*)pVbe->memory) + 40, 215);
|
| 31 |
|
| 32 |
return block;
|
| 33 |
}
|
| 34 |
--
|
| 35 |
1.7.2.2
|
| 36 |
|