blob: 05a42e6a000cc593f5276e52614fd99edaa6143d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
|