cache: Check return value from offscreen_cache_get
Currently, SetSurface is called regardless of return value from
offscreen_cache_get. It may happen that bitmap is not found in a
cache from some reason, which may lead to segfaults. Let's check
the returned value before use.
@@ -101,6 +101,9 @@ static BOOL update_gdi_switch_surface(rdpContext* context,
{
rdpBitmap* bmp;
bmp = offscreen_cache_get(cache->offscreen, switchSurface->bitmapId);
+ if (bmp == NULL)
+ return FALSE;
+
bitmap->SetSurface(context, bmp, FALSE);
}
