Pekka Paalanen 091b1554da shared/cairo-util: fix leak from load_cairo_surface()
Fixes ASan reported leaks:

Direct leak of 256 byte(s) in 1 object(s) allocated from:
     0x7f8266f2d330 in __interceptor_malloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9330)
     0x7f8266c8589a  (/lib/x86_64-linux-gnu/libpixman-1.so.0+0x5089a)
     0x7f8266c4ea77  (/lib/x86_64-linux-gnu/libpixman-1.so.0+0x19a77)
     0x55fa7818f8e8 in load_png ../../git/weston/shared/image-loader.c:297
     0x55fa7819039e in load_image ../../git/weston/shared/image-loader.c:423
     0x55fa78187b3e in load_cairo_surface ../../git/weston/shared/cairo-util.c:354
     0x55fa7815ff8a in background_draw ../../git/weston/clients/desktop-shell.c:779
     0x55fa7817b2c2 in widget_redraw ../../git/weston/clients/window.c:4520
     0x55fa7817b831 in surface_redraw ../../git/weston/clients/window.c:4578
     0x55fa7817b9a7 in idle_redraw ../../git/weston/clients/window.c:4607
     0x55fa78184ea4 in display_run ../../git/weston/clients/window.c:6527
     0x55fa781646fb in main ../../git/weston/clients/desktop-shell.c:1556
     0x7f826659709a in __libc_start_main ../csu/libc-start.c:308
     0x55fa7815c0a9 in _start (/home/pq/build/weston-meson/clients/weston-desktop-shell+0x120a9)

Indirect leak of 8024 byte(s) in 1 object(s) allocated from:
     0x7f8266f2d330 in __interceptor_malloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9330)
     0x55fa7818f5e7 in load_png ../../git/weston/shared/image-loader.c:275
     0x55fa7819039e in load_image ../../git/weston/shared/image-loader.c:423
     0x55fa78187b3e in load_cairo_surface ../../git/weston/shared/cairo-util.c:354
     0x55fa7815ff8a in background_draw ../../git/weston/clients/desktop-shell.c:779
     0x55fa7817b2c2 in widget_redraw ../../git/weston/clients/window.c:4520
     0x55fa7817b831 in surface_redraw ../../git/weston/clients/window.c:4578
     0x55fa7817b9a7 in idle_redraw ../../git/weston/clients/window.c:4607
     0x55fa78184ea4 in display_run ../../git/weston/clients/window.c:6527
     0x55fa781646fb in main ../../git/weston/clients/desktop-shell.c:1556
     0x7f826659709a in __libc_start_main ../csu/libc-start.c:308
     0x55fa7815c0a9 in _start (/home/pq/build/weston-meson/clients/weston-desktop-shell+0x120a9)

from the command

	ASAN_OPTIONS=fast_unwind_on_malloc=0,malloc_context_size=50 \
	LSAN_OPTIONS=suppressions=/home/pq/git/weston/.gitlab-ci/leak-sanitizer.supp \
	./tests/test-viewporter test_viewporter_bad_source_rect

by recording the pixman image as user data so it can be freed when the
surface is destroyed.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2021-05-31 12:35:01 +03:00
..
2018-02-09 17:01:09 +00:00
2020-11-27 14:44:10 +02:00
2018-02-09 17:01:09 +00:00
2021-04-28 11:35:28 -03:00
2019-04-18 12:31:46 +03:00
2021-02-24 10:00:32 -05:00
2021-02-25 14:35:03 +02:00
2021-02-24 10:00:32 -05:00
2016-07-26 16:26:08 -07:00
2019-04-18 12:31:46 +03:00