Commit a5f439dc authored by Olivier Fourdan's avatar Olivier Fourdan Committed by Adam Jackson

xwayland: Remove pending stream reference when freeing

The EGLStream backend keeps a queue of pending streams for each Xwayland

However, when this pending queue is freed, the corresponding private
data may not be cleared (typically if the pixmap for this window has
changed before the compositor finished attaching the consumer for the
window's pixmap's original eglstream), leading to a use-after-free and a
crash when trying to use that data as the window pixmap.

Make sure to clear the private data when the pending stream is freed.

Closes: #1055Signed-off-by: default avatarOlivier Fourdan <>
Tested-by: Karol Szuster's avatarKarol Szuster <>
Reviewed-by: Adam Jackson's avatarAdam Jackson <>
parent 0b86c0c3
Pipeline #204480 passed with stages
in 4 minutes and 42 seconds
......@@ -437,8 +437,8 @@ xwl_eglstream_consumer_ready_callback(void *data,
DebugF("eglstream: win %d completes eglstream for pixmap %p, congrats!\n",
pending->window->, pending->pixmap);
xwl_eglstream_window_set_pending(pending->window, NULL);
xwl_eglstream_window_set_pending(pending->window, NULL);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment