wayland: Survive an unsupported buffer size

If cogl fails to create a texture from the client's given buffer,
mutter would raise a fatal error and terminate.

As a result, a broken client might kill gnome-shell/mutter and take the
entire Wayland session with it.

Instead of raising a fatal error in this case, log the cogl error
message and send the client an OOM error, so mutter/gnome-shell can
survive an unsupported buffer size.

https://bugzilla.gnome.org/show_bug.cgi?id=770387
This commit is contained in:
Olivier Fourdan
2016-08-26 09:41:59 +02:00
parent 658d97d00e
commit 1f570d542e
2 changed files with 12 additions and 1 deletions

View File

@ -106,8 +106,10 @@ meta_wayland_buffer_ensure_texture (MetaWaylandBuffer *buffer)
if (!texture)
{
meta_warning ("Could not import pending buffer, ignoring commit: %s\n",
catch_error->message);
cogl_error_free (catch_error);
meta_fatal ("Could not import pending buffer, ignoring commit\n");
goto out;
}
buffer->texture = texture;