summaryrefslogtreecommitdiff
path: root/test/data/invalid-messages/issue418.message-raw.hex
diff options
context:
space:
mode:
Diffstat (limited to 'test/data/invalid-messages/issue418.message-raw.hex')
-rw-r--r--test/data/invalid-messages/issue418.message-raw.hex47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/data/invalid-messages/issue418.message-raw.hex b/test/data/invalid-messages/issue418.message-raw.hex
new file mode 100644
index 00000000..05a42e6a
--- /dev/null
+++ b/test/data/invalid-messages/issue418.message-raw.hex
@@ -0,0 +1,47 @@
+# 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/issue418.message-raw.hex |
+# xxd -p -r - test/data/invalid-messages/issue418.message-raw
+#
+# The rather non-specific name is because this message is invalid in at
+# least three separate ways:
+#
+# - parentheses and curly brackets in the signature are not nested correctly
+# - the signature of one header field is of zero length
+# - the signature of another header field is longer than the message
+#
+# mis-nested-sig.message-raw.hex,
+# truncated-variant-sig.message-raw.hex,
+# zero-length-variant-sig.message-raw.hex are simplified versions of this
+# message with only one of those reasons to be invalid.
+
+# Offset % 0x10:
+# 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f
+
+ 6c # little-endian
+ 8f # an undefined message type
+ 28 # flags
+ 01 # major protocol version 1
+ 0000 0000 # message body is 0 bytes
+ 7b22 0008 # serial number 0x0800227b
+ 1800 0000 # header is an array of 0x18 bytes of struct (yv)
+ fd # header field code 0xfd (an undefined header)
+ 15 # signature is 0x15 = 21 bytes
+ 2874 617b 7961 7b64 617b 7961 7b79 # "(ta{ya{da{ya{y"...
+ 6171 7d7d 7d29 7d00 # "aq}}})}" \0
+ 0000 0000 0000 0000 # padding to 8-byte boundary
+ 0c # header field code 0x0c
+ 00 # signature is zero-length (invalid!)
+ 00 # "" \0
+ 00 0000 0000 0000 0000 0000 0000 # padding
+ fe # header field code 0xfe
+ ff # signature is 0xff = 255 bytes
+ 0000 # truncated (invalid!)
+
+#sha1 e5d2bc02229d93ffdd7f589b7123adb3902ee981