summaryrefslogtreecommitdiff
path: root/test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex
diff options
context:
space:
mode:
Diffstat (limited to 'test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex')
-rw-r--r--test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex b/test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex
new file mode 100644
index 00000000..0527abd5
--- /dev/null
+++ b/test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex
@@ -0,0 +1,55 @@
+# Copyright 2022 Evgeny Vereshchagin
+# Copyright 2022 Collabora Ltd.
+# SPDX-License-Identifier: MIT
+#
+# This is an annotated hex-dump of a message originally generated by a
+# fuzzer.
+#
+# To output as binary:
+# sed -e 's/#.*//' test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex |
+# xxd -p -r - test/data/invalid-messages/fixed-array-not-divisible.message-raw
+#
+# This message is invalid because the array of int64 has a length that is
+# not a multiple of the length of an item.
+
+# Offset % 0x10:
+# 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f
+
+ 6c # little-endian
+ 40 # an undefined message type
+ ff # flags = all set
+ 01 # major protocol version = 1
+ 0000 0000 # message body is 0 bytes
+ f600 59df # serial number 0xdf5900f6
+ 1801 0000 # header is an array of 0x0118 bytes of struct (yv)
+ 52 # header field code 0x52 (an undefined header)
+ 11 # signature is 0x11 = 17 bytes, + \0
+ 6128 6128 7979 7979 7979 7979 2979 # "a(a(yyyyyyyy)y"...
+ 6174 2900 # ..."at)" + trailing \0
+ 0001 0000 # outer array is 0x0100 = 256 bytes in total
+ # enter first a(yyyyyyyy)yat
+ d800 0000 # inner array is 0xd8 = 216 bytes in total
+ 0000 0000 # padding to 8-byte boundary (not included in the 216)
+ # enter array of (yyyyyyyy), 8-byte structures
+ 016f 5d00 0000 0000 # first struct (yyyyyyyy), 8 arbitrary bytes
+ 0001 5602 4472 6565 # second struct (yyyyyyyy), etc.
+ 6465 736b 0000 17f6 0059 df20 dfff 09a9 # {
+ 1161 2061 2879 7179 00d8 42e9 2f6f 7267 # {
+ 6565 6420 2020 2020 2020 2000 2020 2020 # {
+ 2020 2020 2020 2020 2020 2020 2020 20b0 # {
+ 0024 0000 0000 0000 e6df dfdf 2020 2020 # {
+ 6500 0000 0000 0000 0000 0000 0000 0000 # { arbitrary, fuzzer-generated
+ 0000 0000 0000 0000 0000 0000 0000 0000 # {
+ 0000 0000 0000 0000 0000 0000 0000 0000 # {
+ 2875 7987 ff27 b5e9 d901 0000 5e30 4b79 # {
+ 0001 6f2d 5d67 446f 7244 4472 6565 6400 # {
+ 1765 6b73 00f6 0059 ffa9 1161 2061 2879 # {
+ 71fd 7eee ff01 0000 0000 0000 1067 c8c8 # {
+ c8c8 c8c8 c801 0000 # 27th struct (yyyyyyyy)
+ 00 # byte (y) = 0
+ 00 0000 # padding to 4-byte boundary
+ 0500 0000 # array of int64 (at) is 5 bytes long, which makes no sense
+ 0000 faff 0000 0000 0000 0000 0000 0000
+ 1200 0000 0000 0000
+
+#sha1 30fafa4da12cdedc1361ad2e8ecf2ced5ae7d6eb