From 327049504b695541696b6c90288ef0d2b18780e5 Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Wed, 9 Mar 2005 18:42:35 +0000 Subject: [PATCH] Check for NULL before touching src. --- dlls/ddraw/dsurface/dib.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/dlls/ddraw/dsurface/dib.c b/dlls/ddraw/dsurface/dib.c index a139a44731b..079cdfa4044 100644 --- a/dlls/ddraw/dsurface/dib.c +++ b/dlls/ddraw/dsurface/dib.c @@ -514,9 +514,11 @@ DIB_DirectDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst, } } - if (This->locked || ((IDirectDrawSurfaceImpl *)src)->locked) { - WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); - return DDERR_SURFACEBUSY; + if (src != NULL) { + if (This->locked || ((IDirectDrawSurfaceImpl *)src)->locked) { + WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); + return DDERR_SURFACEBUSY; + } } /* First, check if the possible override function handles this case */ @@ -990,9 +992,11 @@ DIB_DirectDrawSurface_BltFast(LPDIRECTDRAWSURFACE7 iface, DWORD dstx, TRACE(" srcrect: NULL\n"); } - if (This->locked || ((IDirectDrawSurfaceImpl *)src)->locked) { - WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); - return DDERR_SURFACEBUSY; + if (src != NULL) { + if (This->locked || ((IDirectDrawSurfaceImpl *)src)->locked) { + WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); + return DDERR_SURFACEBUSY; + } } /* First, check if the possible override function handles this case */