Make sure to check for invalid NULL handles before passing them to GDIOBJ_bLockMultipleObjects, which skips NULL handles. This is a design limitation, since otherwise we either need to pass a bitfield of valid handles, or duplicate code in certain functions, where different combinations of dest, source and mask dc are allowed.
svn path=/trunk/; revision=63442
return FALSE;
}
+ if ((hDCDest == NULL) || (hDCSrc == NULL))
+ {
+ EngSetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
TRACE("Locking DCs\n");
ahDC[0] = hDCDest;
ahDC[1] = hDCSrc ;
return NtGdiStretchBlt(hDCDest,
XDest,
YDest,
- Width,
+ Width,
Height,
hDCSrc,
XSrc,
YSrc,
Width,
Height,
- ROP,
+ ROP,
crBackColor);
dwTRop = ROP & ~(NOMIRRORBITMAP|CAPTUREBLT);
BOOL Ret = FALSE;
EXLATEOBJ exlo;
+ if ((hdcDst == NULL) || (hdcSrc == NULL))
+ {
+ EngSetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
TRACE("Locking DCs\n");
ahDC[0] = hdcDst;
ahDC[1] = hdcSrc ;