Alberto Garcia 0cf0e5980b qcow2: Generalize validate_table_offset() into qcow2_validate_table()
This function checks that the offset and size of a table are valid.

While the offset checks are fine, the size check is too generic, since
it only verifies that the total size in bytes fits in a 64-bit
integer. In practice all tables used in qcow2 have much smaller size
limits, so the size needs to be checked again for each table using its
actual limit.

This patch generalizes this function by allowing the caller to specify
the maximum size for that table. In addition to that it allows passing
an Error variable.

The function is also renamed and made public since we're going to use
it in other parts of the code.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2018-03-09 15:17:47 +01:00
..
020
2018-01-23 12:34:43 +01:00
2018-01-23 12:34:43 +01:00
026
2017-04-27 15:46:16 +02:00
2017-04-27 15:46:16 +02:00
2017-04-27 15:46:16 +02:00
030
2017-11-14 18:06:25 +01:00
040
2017-11-14 18:06:25 +01:00
2017-07-11 17:45:02 +02:00
046
2017-05-11 11:08:40 +02:00
2018-01-23 12:34:43 +01:00
2018-01-23 12:34:43 +01:00
055
2017-11-14 18:06:25 +01:00
2018-02-13 12:27:17 +01:00
063
2017-08-01 18:09:33 +02:00
2015-01-23 12:41:32 -05:00
066
2017-05-11 12:08:24 +02:00
2017-05-11 12:08:24 +02:00
067
2018-01-23 12:34:43 +01:00
2018-01-23 12:34:43 +01:00
068
2017-09-06 15:19:01 +01:00
2017-09-06 15:19:01 +01:00
075
2017-11-27 11:25:41 +01:00
077
2017-11-14 18:06:25 +01:00
078
2017-11-27 11:25:41 +01:00
083
2017-11-14 18:06:25 +01:00
087
2017-11-17 18:21:31 +01:00
2016-01-07 21:30:17 +01:00
102
2018-01-23 12:34:42 +01:00
2018-01-23 12:34:42 +01:00
106
2017-09-26 15:00:32 +02:00
109
2017-08-08 14:36:59 +02:00
2015-12-18 14:36:17 +01:00
2017-07-10 13:18:05 +02:00
2017-05-11 14:28:07 +02:00
125
2017-10-26 15:01:14 +02:00
2017-10-26 15:01:14 +02:00
126
2017-07-11 17:45:00 +02:00
2017-07-11 17:45:00 +02:00
127
2017-10-26 15:01:13 +02:00
136
2017-11-14 18:06:25 +01:00
2016-05-19 16:45:31 +02:00
141
2017-08-01 18:09:33 +02:00
142
2017-07-11 17:45:00 +02:00
2017-07-10 13:18:05 +02:00
155
2018-02-13 12:27:17 +01:00
156
2017-08-01 18:09:33 +02:00
159
2017-07-11 17:44:59 +02:00
2016-09-20 22:10:57 +02:00
160
2016-09-20 22:10:57 +02:00
2016-09-20 22:10:57 +02:00
163
2017-09-26 15:00:32 +02:00
2017-09-26 15:00:32 +02:00
170
2017-07-11 17:44:59 +02:00
2016-09-20 22:10:57 +02:00
171
2017-07-11 17:45:00 +02:00
2017-09-18 19:43:38 -04:00
2017-02-12 00:47:42 +01:00
2017-11-21 14:54:02 +01:00
178
2017-07-11 17:45:01 +02:00
182
2017-11-17 13:35:59 +01:00
183
2017-06-09 11:45:03 +02:00
2017-06-09 11:45:03 +02:00
184
2018-01-23 12:34:43 +01:00
2018-01-23 12:34:43 +01:00
185
2017-08-11 14:44:39 +02:00
191
2018-01-23 12:34:43 +01:00
197
2017-12-22 15:03:41 +01:00
200
2018-01-31 22:37:00 -05:00
205
2018-02-09 12:32:44 -06:00
2018-02-09 12:32:44 -06:00

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@nongnu.org with a CC:
to qemu-block@nongnu.org.