round community patches fix memory leak

This commit is contained in:
shirely16 2021-06-08 11:40:30 +08:00
parent 99fda06c8a
commit 1aab7f3d93
2 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,44 @@
From d9eb7f1536ed6262fc8c6518c6afe6053a450e9d Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 28 May 2019 17:00:31 -0400
Subject: [PATCH] Get rid of a memory leak of deleted boot entries.
Signed-off-by: Peter Jones <pjones@redhat.com>
Conflict:NA
Reference:https://github.com/rhboot/efibootmgr/commit/d9eb7f1536ed6262fc8c6518c6afe6053a450e9d
---
src/efibootmgr.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/efibootmgr.c b/src/efibootmgr.c
index 19a6edc..afcfc77 100644
--- a/src/efibootmgr.c
+++ b/src/efibootmgr.c
@@ -106,13 +106,12 @@ read_vars(char **namelist,
for (i=0; namelist[i] != NULL; i++) {
if (namelist[i]) {
- entry = malloc(sizeof(var_entry_t));
+ entry = calloc(1, sizeof(var_entry_t));
if (!entry) {
- efi_error("malloc(%zd) failed",
+ efi_error("calloc(1, %zd) failed",
sizeof(var_entry_t));
goto err;
}
- memset(entry, 0, sizeof(var_entry_t));
rc = efi_get_variable(EFI_GLOBAL_GUID, namelist[i],
&entry->data, &entry->data_size,
@@ -611,6 +610,10 @@ delete_var(const char *prefix, uint16_t num)
return rc;
}
list_del(&(entry->list));
+ free(entry->name);
+ free(entry->data);
+ memset(entry, 0, sizeof(*entry));
+ free(entry);
break; /* short-circuit since it was found */
}
}

View File

@ -1,11 +1,13 @@
Name: efibootmgr
Release: 7
Release: 8
Version: 16
Summary: A tool manipulating the EFI Boot Manager
License: GPLv2+
URL: https://github.com/rhboot/%{name}/
Source0: https://github.com/rhboot/%{name}/releases/download/%{version}/%{name}-%{version}.tar.bz2
Patch6000: backport-get-rid-of-a-memory-leak-of-deleted-boot-entries.patch
BuildRequires: gcc
BuildRequires: efi-srpm-macros >= 3-2 efi-filesystem git popt-devel efivar-libs >= 35-2 efivar-devel >= 35-2
Requires: efi-filesystem
@ -46,6 +48,9 @@ rm -rf %{buildroot}
%{_mandir}/*/*.?.gz
%changelog
* Tue Jun 8 2021 hanhui <hanhui15@huawei.com> - 16-8
- round community patches fix memory leak
* Wed May 26 2021 liuyumeng <liuyumeng5@huawei.com> - 16-7
- Add a BuildRequires for gcc