[PATCH 1/2] uefi: esrt: fix the resource leak found by Coverity Scan
Ivan Hu
ivan.hu at canonical.com
Tue Mar 8 03:35:12 UTC 2016
Coverity Scan found:
*** CID 1352645: Resource leaks (RESOURCE_LEAK)
/src/uefi/esrt/esrt.c: 45 in esrt_init()
39 static int esrt_init(fwts_framework *fw)
40 {
41 DIR *dir = opendir(FWTS_ESRT_DIR_PATH);
42
43 if (fwts_firmware_detect() != FWTS_FIRMWARE_UEFI) {
44 fwts_log_info(fw, "Cannot detect any UEFI firmware. Aborted.");
>>> CID 1352645: Resource leaks (RESOURCE_LEAK)
>>> Variable "dir" going out of scope leaks the storage it points to.
45 return FWTS_ABORTED;
46 }
47
48 if (dir) {
49 /* Directory exists. */
50 closedir(dir);
fix it.
Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
---
src/uefi/esrt/esrt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/uefi/esrt/esrt.c b/src/uefi/esrt/esrt.c
index 9272c72..7b648c9 100644
--- a/src/uefi/esrt/esrt.c
+++ b/src/uefi/esrt/esrt.c
@@ -38,13 +38,14 @@
static int esrt_init(fwts_framework *fw)
{
- DIR *dir = opendir(FWTS_ESRT_DIR_PATH);
if (fwts_firmware_detect() != FWTS_FIRMWARE_UEFI) {
fwts_log_info(fw, "Cannot detect any UEFI firmware. Aborted.");
return FWTS_ABORTED;
}
+ DIR *dir = opendir(FWTS_ESRT_DIR_PATH);
+
if (dir) {
/* Directory exists. */
closedir(dir);
--
1.9.1
More information about the fwts-devel
mailing list