Commit 0d3ad191 authored by Kuan-Wei Chiu's avatar Kuan-Wei Chiu Committed by Ard Biesheuvel
Browse files

efi: fix memory leak in krealloc failure handling



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: default avatarKuan-Wei Chiu <visitorckw@gmail.com>
Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
parent ff07186b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -273,9 +273,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;
		}