efivars: check path_len before using it as loop boundary
This commit is contained in:
parent
c52368509f
commit
e7e36b9030
|
@ -412,9 +412,13 @@ int efi_get_boot_option(
|
|||
|
||||
if (header->path_len > 0) {
|
||||
uint8_t *dbuf;
|
||||
size_t dnext;
|
||||
size_t dnext, doff;
|
||||
|
||||
doff = offsetof(struct boot_option, title) + title_size;
|
||||
dbuf = buf + doff;
|
||||
if (header->path_len > l - doff)
|
||||
return -EINVAL;
|
||||
|
||||
dbuf = buf + offsetof(struct boot_option, title) + title_size;
|
||||
dnext = 0;
|
||||
while (dnext < header->path_len) {
|
||||
struct device_path *dpath;
|
||||
|
|
Loading…
Reference in New Issue