efi: fix memory leak in krealloc failure handling
[ Upstream commit 0d3ad1917996839a5042d18f04e41915cfa1b74a ] In the previous code, there was a memory leak issue where the previously allocated memory was not freed upon a failed krealloc operation. This patch addresses the problem by releasing the old memory before setting the pointer to NULL in case of a krealloc failure. This ensures that memory is properly managed and avoids potential memory leaks. Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com> Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
678edd2dfd
commit
8e1a6594d7
@ -245,9 +245,13 @@ static __init int efivar_ssdt_load(void)
|
||||
if (status == EFI_NOT_FOUND) {
|
||||
break;
|
||||
} else if (status == EFI_BUFFER_TOO_SMALL) {
|
||||
name = krealloc(name, name_size, GFP_KERNEL);
|
||||
if (!name)
|
||||
efi_char16_t *name_tmp =
|
||||
krealloc(name, name_size, GFP_KERNEL);
|
||||
if (!name_tmp) {
|
||||
kfree(name);
|
||||
return -ENOMEM;
|
||||
}
|
||||
name = name_tmp;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user