cogl-auto-texture: Avoid a double-free crash
authorDaniel van Vugt <daniel.van.vugt@canonical.com>
Thu, 11 Oct 2018 06:49:22 +0000 (08:49 +0200)
committerMarco Trevisan (Treviño) <marco@ubuntu.com>
Thu, 24 Jan 2019 18:00:14 +0000 (18:00 +0000)
If texture allocation fails (e.g. on an old GPU with size limit 2048)
then `cogl_texture_new_with_size` was trying to use the same CoglError
twice. The second time was after it had already been freed.

Bug reported and fix provided by Gert van de Kraats.

Origin: https://gitlab.gnome.org/GNOME/mutter/commit/d21478b0f
Bug-Ubuntu: https://launchpad.net/bugs/1790525
Applied-upstream: 3.30.3

Gbp-Pq: Name cogl-auto-texture-Avoid-a-double-free-crash.patch

cogl/cogl/deprecated/cogl-auto-texture.c

index 29a5f73ef93b65868e07c2e6a843a300c5cc2e2b..fe52e1575b552fe6169774cdcdd91db17b9f53be 100644 (file)
@@ -94,6 +94,7 @@ cogl_texture_new_with_size (unsigned int width,
       if (!cogl_texture_allocate (tex, &skip_error))
         {
           cogl_error_free (skip_error);
+          skip_error = NULL;
           cogl_object_unref (tex);
           tex = NULL;
         }