Arguments of xf_Bitmap_SetSurface are not checked before use currently
which may lead to segfaults. It may happen if bitmap is not found in a
cache from some reason. Let's check the arguments before use similarly
as it is done in client/Windows/wf_graphics.c in order to avoid segfaults.
https://github.com/FreeRDP/FreeRDP/issues/4117
BOOL primary)
{
xfContext* xfc = (xfContext*) context;
+
+ if (!context || (!bitmap && !primary))
+ return FALSE;
+
xf_lock_x11(xfc, FALSE);
if (primary)