]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
tools/cgget: fix coverity warning about resource leak
authorKamalesh Babulal <kamalesh.babulal@oracle.com>
Mon, 16 May 2022 21:58:33 +0000 (15:58 -0600)
committerTom Hromatka <tom.hromatka@oracle.com>
Mon, 16 May 2022 21:58:51 +0000 (15:58 -0600)
Fix two resource leaks reported by Coverity tool:

CID 1488718 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage:
Variable handle going out of scope leaks the storage it points to.

CID 1488723 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage:
Variable dir going out of scope leaks the storage it points to.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
(cherry picked from commit fea1ab8b45d7bbe708c9fd4e66b4d639fa7aa984)

src/api.c
src/tools/cgget.c

index e4a1098ddb811465403123195d61e4b09d521a21..f9de3c5edabdfe0df91cd33c8590d833aaa6a952 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -4718,6 +4718,7 @@ int cgroup_read_value_end(void **handle)
 
        fp = (FILE *)*handle;
        fclose(fp);
+       *handle = NULL;
 
        return 0;
 }
index e9e29fd2350e8d01ff52401e7fe44ed1eac533ff..15db093fc70c4c681ac0b196415ef4cc04009269 100644 (file)
@@ -528,6 +528,9 @@ end:
                cv->multiline_value = NULL;
        }
 
+       if ((FILE *)handle)
+               fclose((FILE *)handle);
+
        return ret;
 }
 
@@ -625,9 +628,10 @@ static int fill_empty_controller(struct cgroup * const cg,
                }
        }
 
-       closedir(dir);
-
 out:
+       if (dir)
+               closedir(dir);
+
        pthread_rwlock_unlock(&cg_mount_table_lock);
        return ret;
 }