From 1432d23e983fa6b033411f6b03c4e72a97331f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?= =?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= Date: Thu, 30 Apr 2015 20:43:18 +0000 Subject: [PATCH] Fix use-after-free in gdk_window_end_paint() It's a miracle that this code ever worked. --- gdk/gdkwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 8c85cb79cb..65db5e8753 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -3111,7 +3111,6 @@ gdk_window_end_paint (GdkWindow *window) { surface = gdk_window_ref_impl_surface (window); cr = cairo_create (surface); - cairo_surface_destroy (surface); cairo_set_source_surface (cr, window->current_paint.surface, 0, 0); gdk_cairo_region (cr, window->current_paint.region); @@ -3123,6 +3122,7 @@ gdk_window_end_paint (GdkWindow *window) cairo_destroy (cr); cairo_surface_flush (surface); + cairo_surface_destroy (surface); } } -- GitLab