mirror of
https://github.com/systemd/systemd.git
synced 2025-02-11 21:57:53 +03:00
systemd-boot: fix off-by-one buffer overrun
We'd allocate a buffer of some size and then write zero to the byte one after.
This commit is contained in:
parent
12643e7c43
commit
70756b3b4d
@ -327,16 +327,15 @@ EFI_STATUS file_read(EFI_FILE_HANDLE dir, CHAR16 *name, UINTN off, UINTN size, C
|
||||
return err;
|
||||
}
|
||||
|
||||
buf = AllocatePool(size);
|
||||
buf = AllocatePool(size + 1);
|
||||
err = uefi_call_wrapper(handle->Read, 3, handle, &size, buf);
|
||||
if (!EFI_ERROR(err)) {
|
||||
buf[size] = '\0';
|
||||
*content = buf;
|
||||
if (content_size)
|
||||
*content_size = size;
|
||||
} else {
|
||||
} else
|
||||
FreePool(buf);
|
||||
}
|
||||
|
||||
uefi_call_wrapper(handle->Close, 1, handle);
|
||||
return err;
|
||||
|
Loading…
x
Reference in New Issue
Block a user