efi_loader: NULL dereference in efi_convert_pointer
Avoid a possible NULL pointer dereference in efi_convert_pointer(). Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
		
							parent
							
								
									1047c6e23c
								
							
						
					
					
						commit
						a27c78fddb
					
				| 
						 | 
					@ -499,7 +499,7 @@ static __efi_runtime efi_status_t EFIAPI efi_convert_pointer_runtime(
 | 
				
			||||||
static __efi_runtime efi_status_t EFIAPI efi_convert_pointer(
 | 
					static __efi_runtime efi_status_t EFIAPI efi_convert_pointer(
 | 
				
			||||||
			efi_uintn_t debug_disposition, void **address)
 | 
								efi_uintn_t debug_disposition, void **address)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	efi_physical_addr_t addr = (uintptr_t)*address;
 | 
						efi_physical_addr_t addr;
 | 
				
			||||||
	efi_uintn_t i;
 | 
						efi_uintn_t i;
 | 
				
			||||||
	efi_status_t ret = EFI_NOT_FOUND;
 | 
						efi_status_t ret = EFI_NOT_FOUND;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -515,6 +515,7 @@ static __efi_runtime efi_status_t EFIAPI efi_convert_pointer(
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						addr = (uintptr_t)*address;
 | 
				
			||||||
	for (i = 0; i < efi_descriptor_count; i++) {
 | 
						for (i = 0; i < efi_descriptor_count; i++) {
 | 
				
			||||||
		struct efi_mem_desc *map = (void *)efi_virtmap +
 | 
							struct efi_mem_desc *map = (void *)efi_virtmap +
 | 
				
			||||||
					   (efi_descriptor_size * i);
 | 
										   (efi_descriptor_size * i);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue