Commits on Source (24)
-
Manuel Stoeckl authored2db592bb
-
Manuel Stoeckl authored
This change removes the dependency on libffi and the header-dependency on libwayland. (`wayland-xml` is still needed, of course.) A python script is used to generate a series of 'call_*' functions which parse the wire format and invoke matching `do_*` functions to be defined by the user. With lto the `call_*` and `do_*` parts can often be combined, reducing their effective cost to almost zero. The script also generates more optimized data to check sizes and generate new objects.
7e1c5dc9 -
Manuel Stoeckl authored570d4d03
-
Manuel Stoeckl authored
The new test program runs, in separate threads, a local/display-side main loop, a remote/application-side main loop, and a "controller" script that reads messages from an input file and sends them to the main loops. (Each pair of threads is linked via socketpair.) The input file format consists of a series of headers followed by data. The headers indicate the length of the following data, and to which of the application or compositor the message should be sent. At the moment, sending file descriptors is not supported.
b1a0f366 -
Manuel Stoeckl authored463c988d
-
Manuel Stoeckl authoredc634db50
-
Manuel Stoeckl authored
Both found via AFL. The first, in the code used to check that a message can be dispatched; the second, occuring when wl_drm is bound despite not having been advertised.
af32404b -
Manuel Stoeckl authored4251e3e9
-
Manuel Stoeckl authored
It was previously possible to cause a use-after-free when creating new objects by setting the new object id to match that for the method being called. A very similar bug in which object replacement broke invariants with non-zombie targets was fixed. This change also adjusts fuzz_hook to use a more thread-safe log handler, gated behind a command line option to reduce the number of context switches.
ad43b30e -
Manuel Stoeckl authoredbcda7441
-
Manuel Stoeckl authored8e401be9
-
Manuel Stoeckl authored59e9ac84
-
Manuel Stoeckl authored
This change ensures that, after sending data to one thread, fuzz_hook waits until the data has been written out by the other (or until a short timeout has occurred.) This prevents race conditions where the second packet is processed by e.g the display-side loop before it receives the first from the application-side loop, making runs of fuzz_hook unstable and more difficult to reproduce. As most round trips require several context switches, and some packets are dropped entirely, this change significantly slows down test runs.
383e9a59 -
Manuel Stoeckl authored07fbbc79
-
Manuel Stoeckl authored3247bf4b
-
Manuel Stoeckl authored
The default socket path has been adjusted to fall inside $XDG_RUNTIME_DIR. This lets waypipe provide a 'relative' socket name in $WAYLAND_DISPLAY, making it possible for waypipe to work with versions of libwayland that do not support absolute display socket paths.
2f8c8c5e -
Manuel Stoeckl authored1006c634
-
Manuel Stoeckl authored
Size increases to a shared memory shadow structure are made by resizing all the associated buffers, and then filling the new space in the mirror buffer with zeros. The standard diff routine is then used to replicate any changes to the new region relative to its initial state. A new transfer header flag has been added to request a remote buffer resize.
07c10255 -
Manuel Stoeckl authored1b57e106
-
Manuel Stoeckl authored
Also check weston's libexecdir in case the weston-* programs were placed there, and add a few more test clients.
34d7229d -
Manuel Stoeckl authored36e306a3
-
Manuel Stoeckl authored
This avoids buffer overflows with clients that transfer very many fds or update many shared memory buffers at a time.
89d77aed -
Manuel Stoeckl authored592d74e4
-
Manuel Stoeckl authored
.gitlab-ci/debian32-install.sh
0 → 100644
.gitlab-ci/debian32.yml
0 → 100644
This diff is collapsed.
This diff is collapsed.
protocols/function_list.txt
0 → 100644
protocols/symgen.py
0 → 100755
protocols/symgen_types.h
0 → 100644
test/fuzz_hook.c
0 → 100644