aboutsummaryrefslogtreecommitdiffstats
path: root/tests/cpp-compile-test.cpp
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2018-04-16 15:00:58 -0500
committerDerek Foreman <derekf@osg.samsung.com>2018-04-20 13:12:57 -0500
commit58ee271bff499b6b0d865fa0126990dc478bff24 (patch)
treefdde8b0be7fba18705c2b872017055522bfc8e73 /tests/cpp-compile-test.cpp
parentwayland-server: Properly handle EAGAIN from wl_connection_read() (diff)
downloadwayland-58ee271bff499b6b0d865fa0126990dc478bff24.tar
wayland-58ee271bff499b6b0d865fa0126990dc478bff24.tar.gz
wayland-58ee271bff499b6b0d865fa0126990dc478bff24.tar.bz2
wayland-58ee271bff499b6b0d865fa0126990dc478bff24.tar.lz
wayland-58ee271bff499b6b0d865fa0126990dc478bff24.tar.xz
wayland-58ee271bff499b6b0d865fa0126990dc478bff24.tar.zst
wayland-58ee271bff499b6b0d865fa0126990dc478bff24.zip
tests: Test for use after free in resource destruction signals
For years it's been common practice to free the object containing the wl_listener inside resource destruction notifiers, but not remove the listener from the list. That is: It's been safe to assume (when only one listener is present) that the wl_listener will never be touched again, since this is a destruction callback. Recently some patches were reviewed that made some positive changes to our internal signal handling code, but would've violated this assumption, and changed free()d memory in several existing compositors (weston, mutter, enlightenment). Since the breakage was extremely subtle, codify this assumption in a test case (thus promoting it to an ABI promise). Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Markus Ongyerth <wl@ongy.net> Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Diffstat (limited to 'tests/cpp-compile-test.cpp')
0 files changed, 0 insertions, 0 deletions