parallels: Check if data_end greater than the file size
Initially data_end is set to the data_off image header field and must not be greater than the file size. Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com> Reviewed-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Denis V. Lunev <den@openvz.org>
This commit is contained in:
parent
fcadb48662
commit
09eb64f9e3
@ -874,6 +874,11 @@ static int parallels_open(BlockDriverState *bs, QDict *options, int flags,
|
|||||||
*/
|
*/
|
||||||
s->header_size = size;
|
s->header_size = size;
|
||||||
}
|
}
|
||||||
|
if (s->data_end > file_nb_sectors) {
|
||||||
|
error_setg(errp, "Invalid image: incorrect data_off field");
|
||||||
|
ret = -EINVAL;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
ret = bdrv_pread(bs->file, 0, s->header_size, s->header, 0);
|
ret = bdrv_pread(bs->file, 0, s->header_size, s->header, 0);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user