summaryrefslogtreecommitdiff
path: root/test/data/invalid-messages/issue418.message-raw.hex
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