diff options
| author | Sughosh Ganu <[email protected]> | 2024-07-30 16:41:30 +0530 |
|---|---|---|
| committer | Heinrich Schuchardt <[email protected]> | 2024-07-31 09:54:42 +0200 |
| commit | 7aa0addc42ef1674a7baaf9d0428db943c3f2e5f (patch) | |
| tree | dab29b9a140a2e8687e12b1ce3689146a8c2361f /lib | |
| parent | 22f893047db9560400415316256959ed29167d04 (diff) | |
efi_memory: avoid possible null pointer dereference
Populate the previous memory descriptor node pointer only after it's
parent struct has been initialised. The compiler fixes this logic to
do the right thing, but it is better to have correct code in place.
Signed-off-by: Sughosh Ganu <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Reviewed-by: Heinrich Schuchardt <[email protected]>
Reviewed-by: Ilias Apalodimas <[email protected]>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efi_loader/efi_memory.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c index 9a62864a002..6c5cc26ae38 100644 --- a/lib/efi_loader/efi_memory.c +++ b/lib/efi_loader/efi_memory.c @@ -138,7 +138,7 @@ static void efi_mem_sort(void) merge_again = false; list_for_each(lhandle, &efi_mem) { struct efi_mem_list *lmem; - struct efi_mem_desc *prev = &prevmem->desc; + struct efi_mem_desc *prev; struct efi_mem_desc *cur; uint64_t pages; @@ -149,6 +149,7 @@ static void efi_mem_sort(void) } cur = &lmem->desc; + prev = &prevmem->desc; if ((desc_get_end(cur) == prev->physical_start) && (prev->type == cur->type) && |
