diff options
author | Adam Jackson <ajax@redhat.com> | 2015-08-04 13:17:01 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2015-08-12 08:53:38 -0700 |
commit | 11f4cc47a815c5d6284b1338e748e2605b2dd779 (patch) | |
tree | 30033684d52974882a101da8fe8e9426dd2cd438 | |
parent | ea03e314f98e5d8ed7bf7a508006a3d84014bde5 (diff) |
xwayland: Don't (double) destroy RANDR resources in CloseScreen
By the time we get here we've already been through FreeAllResources,
which has already torn down the RANDR objects, so on the second
regeneration you get:
Invalid read of size 4
at 0x51C6F0: RRCrtcDestroy (rrcrtc.c:659)
by 0x4285F5: xwl_output_destroy (xwayland-output.c:191)
by 0x426464: xwl_close_screen (xwayland.c:112)
by 0x4B7F77: CursorCloseScreen (cursor.c:187)
by 0x536013: AnimCurCloseScreen (animcur.c:106)
by 0x539841: present_close_screen (present_screen.c:64)
by 0x43E496: dix_main (main.c:351)
by 0x30D70206FF: (below main) (libc-start.c:289)
Address 0x4cc6640 is 0 bytes inside a block of size 728 free'd
at 0x4A07D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x51BCCF: RRCrtcDestroyResource (rrcrtc.c:689)
by 0x45CD91: doFreeResource (resource.c:872)
by 0x45DE56: FreeClientResources (resource.c:1138)
by 0x45DF06: FreeAllResources (resource.c:1153)
by 0x43E3BD: dix_main (main.c:321)
by 0x30D70206FF: (below main) (libc-start.c:289)
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | hw/xwayland/xwayland-output.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c index 155cbc109..7e5484c7d 100644 --- a/hw/xwayland/xwayland-output.c +++ b/hw/xwayland/xwayland-output.c @@ -188,8 +188,6 @@ void xwl_output_destroy(struct xwl_output *xwl_output) { wl_output_destroy(xwl_output->output); - RRCrtcDestroy(xwl_output->randr_crtc); - RROutputDestroy(xwl_output->randr_output); free(xwl_output); } |