dbus/test/data/invalid-messages/zero-length-variant-sig.message-raw.hex
Simon McVittie d633016f73 test/data: Add messages that reproduce dbus/dbus#413, dbus/dbus#418
In debug builds with "embedded tests" enabled, these will automatically
be used as input for the message-internals test.

Some of the messages themselves are output from a fuzzer, others are
simplifications to include only one reason for lack of validity per
message.

I've included an annotated hex-dump for each message here, but the dbus
test suite doesn't currently know how to convert hex to binary, so I've
also committed the corresponding binary. See the comment at the top of
each hex-dump for how to create the binary version (which requires the
xxd tool shipped with vim).

It would be nice for the dbus test suite to be able to convert the
annotated hex-dump to binary, either at build-time with a Python script
or at runtime by loading the text file and decoding the hex, but I don't
want to block on that for dbus/dbus#413 and dbus/dbus#418.

Reproduces: https://gitlab.freedesktop.org/dbus/dbus/-/issues/413
Reproduces: https://gitlab.freedesktop.org/dbus/dbus/-/issues/418
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-05 10:24:22 +01:00

23 lines
1.1 KiB
Text

# Copyright 2022 Collabora Ltd.
# SPDX-License-Identifier: MIT
#
# To output as binary:
# sed -e 's/#.*//' test/data/invalid-messages/zero-length-variant-sig.message-raw.hex |
# xxd -p -r - test/data/invalid-messages/zero-length-variant-sig.message-raw
# Offset % 0x10:
# 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f
6c # little-endian
ff # an undefined message type
00 # flags
01 # major protocol version 1
0000 0000 # message body is 0 bytes
0100 0000 # serial number 1
0300 0000 # header is an array of 0x03 bytes of struct (yv)
ff # header field code 0xff (undefined)
00 # signature is zero-length (invalid!)
00 # "" \0
00 0000 0000 # padding to 8-byte boundary
#sha1 5b85e1e6586b9737bde18c3e99a201ed6314ecb6