mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2026-02-12 04:28:22 -05:00
Reject messages with trailing junk
These will never be sent by libwayland and likely indicate that a peer is using a wrong protocol specification. Furthermore, there are other implementations that also reject such messages, so using them is not portable. Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
This commit is contained in:
parent
87e2b7d6c2
commit
0134cf4cde
2 changed files with 8 additions and 0 deletions
|
|
@ -113,6 +113,8 @@
|
|||
The second has 2 parts of 16 bits each. The upper 16 bits are the message
|
||||
size in bytes, starting at the header (i.e. it has a minimum value of 8).
|
||||
The lower is the request/event opcode. The size must be a multiple of 4.
|
||||
Messages must be sent using the fewest bytes possible, so padding after
|
||||
the end of a message is not permitted.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
|
|
|||
|
|
@ -1069,6 +1069,12 @@ wl_connection_demarshal(struct wl_connection *connection,
|
|||
}
|
||||
}
|
||||
|
||||
if (p != end) {
|
||||
wl_log("trailing junk\n");
|
||||
errno = EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
wl_connection_consume(connection, size);
|
||||
|
||||
return closure;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue