From 38945890be78e1fb69ef94d380b560a757735a97 Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Thu, 19 Apr 2007 09:33:53 +0000 Subject: [PATCH] revert base changes. The original test case was wrong svn path=/trunk/; revision=26421 --- reactos/subsystems/win32/win32k/objects/bitmaps.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/reactos/subsystems/win32/win32k/objects/bitmaps.c b/reactos/subsystems/win32/win32k/objects/bitmaps.c index 22516bb7cfa..ae716a44f4d 100644 --- a/reactos/subsystems/win32/win32k/objects/bitmaps.c +++ b/reactos/subsystems/win32/win32k/objects/bitmaps.c @@ -1564,18 +1564,24 @@ BITMAP_GetObject(BITMAPOBJ * bmp, INT Count, LPVOID buffer) if( buffer == NULL ) return sizeof(BITMAP); if (Count < sizeof(BITMAP)) return 0; - Count = sizeof(BITMAP); - if(bmp->dib) { + + if(Count < (INT) sizeof(DIBSECTION)) + { + if (Count > (INT) sizeof(BITMAP)) Count = sizeof(BITMAP); + } + else + { + if (Count > (INT) sizeof(DIBSECTION)) Count = sizeof(DIBSECTION); + } memcpy(buffer, bmp->dib, Count); - /* Windows returns bytes copied, not DIBSECTION size */ return Count; } else { BITMAP Bitmap; - + if (Count > (INT) sizeof(BITMAP)) Count = sizeof(BITMAP); Bitmap.bmType = 0; Bitmap.bmWidth = bmp->SurfObj.sizlBitmap.cx; Bitmap.bmHeight = bmp->SurfObj.sizlBitmap.cy;