diff options
| author | Simon Glass <[email protected]> | 2023-07-26 21:01:25 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2023-08-03 15:30:54 -0400 |
| commit | 11158aef8939bb6e54361e4dae3809a9cbe78cff (patch) | |
| tree | 9e95ad9c42383955460fc39eb095bcedb333b846 /boot | |
| parent | 2984d21a28f812c9c1fd2243cc72796f69a61585 (diff) | |
bootstd: Init the size before reading extlinux file
The implementation in extlinux_pxe_getfile() does not pass a valid size
to bootmeth_read_file(), so this can fail if the uninited value happens to
be too small.
Fix this.
Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'boot')
| -rw-r--r-- | boot/bootmeth_pxe.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/boot/bootmeth_pxe.c b/boot/bootmeth_pxe.c index ce986bd260d..8d489a11aa4 100644 --- a/boot/bootmeth_pxe.c +++ b/boot/bootmeth_pxe.c @@ -31,6 +31,9 @@ static int extlinux_pxe_getfile(struct pxe_context *ctx, const char *file_path, int ret; addr = simple_strtoul(file_addr, NULL, 16); + + /* Allow up to 1GB */ + *sizep = 1 << 30; ret = bootmeth_read_file(info->dev, info->bflow, file_path, addr, sizep); if (ret) |
