dwrite: Don't overallocate memory for a BITMAPINFO.

Michael Stefaniuc mstefani at redhat.de
Mon Dec 10 03:19:59 CST 2012


---
 dlls/dwrite/gdiinterop.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dlls/dwrite/gdiinterop.c b/dlls/dwrite/gdiinterop.c
index d41af81..496f099 100644
--- a/dlls/dwrite/gdiinterop.c
+++ b/dlls/dwrite/gdiinterop.c
@@ -165,7 +165,7 @@ static const IDWriteBitmapRenderTargetVtbl rendertargetvtbl = {
 
 static HRESULT create_rendertarget(HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget **target)
 {
-    char bmibuf[sizeof(BITMAPINFO) + 256 * sizeof(RGBQUAD)];
+    char bmibuf[FIELD_OFFSET(BITMAPINFO, bmiColors[256])];
     BITMAPINFO *bmi = (BITMAPINFO*)bmibuf;
     struct rendertarget *This;
     HBITMAP dib;
-- 
1.7.7.6



More information about the wine-patches mailing list