mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2026-08-26 22:23:12 -04:00
parallels: avoid fatal abort on large bitmap L1 table
parallels_load_bitmap() allocated the L1 table with g_new(), which aborts the whole process on allocation failure instead of returning an error. Use g_try_new() and fail the open normally. Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Thomas Huth <thuth@redhat.com> CC: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
d5250d7ed7
commit
4b620302ea
1 changed files with 7 additions and 1 deletions
|
|
@ -169,7 +169,13 @@ parallels_load_bitmap(BlockDriverState *bs, uint8_t *data, size_t data_size,
|
|||
}
|
||||
|
||||
if (bf.l1_size != 0) {
|
||||
l1_table = g_new(uint64_t, bf.l1_size);
|
||||
l1_table = g_try_new(uint64_t, bf.l1_size);
|
||||
if (!l1_table) {
|
||||
error_setg(errp, "Failed to allocate the bitmap L1 table "
|
||||
"(%" PRIu32 " entries)", bf.l1_size);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
for (i = 0; i < bf.l1_size; i++, data += sizeof(uint64_t)) {
|
||||
l1_table[i] = ldq_le_p(data);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue