mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 02:24:38 +00:00
hw/uefi: fix size negotiation
Payload size is the variable request size, not the total buffer size.
Take that into account and subtract header sizes.
Fixes: db1ecfb473 ("hw/uefi: add var-service-vars.c")
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-ID: <20260114104745.3465860-1-kraxel@redhat.com>
This commit is contained in:
@@ -593,7 +593,7 @@ uefi_vars_mm_get_payload_size(uefi_vars_state *uv, mm_header *mhdr,
|
||||
return uefi_vars_mm_error(mhdr, mvar, EFI_BAD_BUFFER_SIZE);
|
||||
}
|
||||
|
||||
ps->payload_size = uv->buf_size;
|
||||
ps->payload_size = uv->buf_size - sizeof(*mhdr) - sizeof(*mvar);
|
||||
mvar->status = EFI_SUCCESS;
|
||||
return length;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user