summaryrefslogtreecommitdiff
path: root/test/data/invalid-messages/fixed-array-not-divisible.message-raw.hex
blob: 0527abd55d61ca529fa8dcd2b66598611370181a (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
48
49
50
51
52
53
54
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