wayland/tests
Derek Foreman ff992951a7 tests: Check for wrong fd delivery with zombie objects
Until recently, if an event attempting to deliver an fd to a zombie
object was demarshalled after the object was made into a zombie, we
leaked the fd and left it in the buffer.

If another event attempting to deliver an fd to a live object was in that
same buffer, the zombie's fd would be delivered instead.

This test recreates that situation.

While this is a ridiculously contrived way to force this race - delivering
an event from a destruction handler - I do have reports of this race
being hit in real world code.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Acked-by: Daniel Stone <daniels@collabora.com>
2018-01-09 15:20:00 +00:00
..
data protocol: add axis_source.wheel_tilt 2017-01-24 12:00:19 +02:00
array-test.c array-test: Include wayland-util.h and simplify init test 2016-10-18 12:24:53 +03:00
client-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
compositor-introspection-test.c Add a resource creation signal 2016-08-12 11:43:02 +03:00
connection-test.c connection-test: fix assert 2017-03-16 14:10:47 +02:00
cpp-compile-test.cpp tests: C++ compilation test 2015-01-27 11:17:42 +00:00
display-test.c tests: Check for wrong fd delivery with zombie objects 2018-01-09 15:20:00 +00:00
event-loop-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
exec-fd-leak-checker.c tests: Require base 10 for the string specifying the number of open fd's 2016-07-11 13:32:15 -07:00
fixed-benchmark.c fixed-benchmark: remove unused arguments in main 2015-07-10 17:17:46 -07:00
fixed-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
headers-protocol-core-test.c tests: Check for client/server-core.h inclusion 2016-05-19 14:31:18 -07:00
headers-protocol-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
headers-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
interface-test.c tests: Test wl_interface_equal 2016-11-18 16:21:19 +02:00
list-test.c tests: Add test for wl_list_length 2016-09-05 15:10:43 +03:00
map-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
message-test.c tests: Add nullable check to wl_message_count_arrays 2016-11-18 16:59:23 +02:00
newsignal-test.c server: add a safer signal type and port wl_display to it 2017-01-25 13:46:23 +02:00
os-wrappers-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
protocol-logger-test.c Add API to install protocol loggers on the server wl_display 2016-08-12 11:59:46 +03:00
queue-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
resources-test.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
sanity-test.c tests: Pass argument to client main 2016-01-16 16:37:37 +08:00
scanner-test.sh tests: add scanner tests 2016-11-23 10:18:44 +02:00
signal-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
socket-test.c client: Allow absolute paths in WAYLAND_DISPLAY 2017-12-11 10:03:59 +02:00
test-compositor.c (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
test-compositor.h (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
test-helpers.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
test-runner.c tests: Use unique XDG_RUNTIME_DIR 2016-11-10 13:30:28 +02:00
test-runner.h tests: Mark tests used so they don’t get removed at link time 2017-12-01 16:56:02 +00:00