From 66e37ed961a543a841f81c02b906e512d6da534a Mon Sep 17 00:00:00 2001
From: FunkyFr3sh <cc.red.alert.1@googlemail.com>
Date: Sun, 2 Dec 2018 06:53:11 +0100
Subject: [PATCH] add 200 guardlines to prevent crashes

---
 src/surface.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/surface.c b/src/surface.c
index 630c96e..6809cee 100644
--- a/src/surface.c
+++ b/src/surface.c
@@ -1095,7 +1095,7 @@ HRESULT __stdcall ddraw_CreateSurface(IDirectDrawImpl *This, LPDDSURFACEDESC lpD
         Surface->bmi = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256);
         Surface->bmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
         Surface->bmi->bmiHeader.biWidth = Surface->width;
-        Surface->bmi->bmiHeader.biHeight = -Surface->height;
+        Surface->bmi->bmiHeader.biHeight = -(Surface->height + 200);
         Surface->bmi->bmiHeader.biPlanes = 1;
         Surface->bmi->bmiHeader.biBitCount = Surface->bpp;
         Surface->bmi->bmiHeader.biCompression = Surface->bpp == 16 ? BI_BITFIELDS : BI_RGB;
@@ -1129,7 +1129,8 @@ HRESULT __stdcall ddraw_CreateSurface(IDirectDrawImpl *This, LPDDSURFACEDESC lpD
 
         Surface->hDC = CreateCompatibleDC(ddraw->render.hDC);
         Surface->bitmap = CreateDIBSection(Surface->hDC, Surface->bmi, DIB_RGB_COLORS, (void **)&Surface->surface, NULL, 0);
-        
+        Surface->bmi->bmiHeader.biHeight = -Surface->height;
+
         if (!Surface->bitmap)
             Surface->surface = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, Surface->lPitch * Surface->height * Surface->lXPitch);