cogl-auto-texture: Avoid a double-free crash
authorDaniel van Vugt <daniel.van.vugt@canonical.com>
Thu, 11 Oct 2018 06:49:22 +0000 (06:49 +0000)
committerSimon McVittie <smcv@debian.org>
Wed, 6 Feb 2019 10:02:14 +0000 (10:02 +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.

(cherry picked from commit d21478b0f0163b0688abe065a7009b33453d0d00)

Bug-Ubuntu: https://launchpad.net/bugs/1790525
Applied-upstream: 3.30.3, commit:1cb21877edd9c7c5bc991527ae70879b1e9fece0

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;
         }