]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: reduce scope of a DIR * in virCgroupV1SetOwner()
authorLaine Stump <laine@redhat.com>
Sun, 25 Oct 2020 21:31:53 +0000 (17:31 -0400)
committerLaine Stump <laine@redhat.com>
Tue, 3 Nov 2020 03:01:36 +0000 (22:01 -0500)
DIR *dh is being re-used each time through the for loop of this
function, so it must be closed and then re-opened, which means we
can't convert it to g_autoptr. By moving the definition of dh inside
the for loop, we make it possible to trivially convert to g_autoptr
(which will happen in a subsequent patch)

NB: VIR_DIR_CLOSE() is already called at the bottom of the for loop,
so removing the VIR_DIR_CLOSE() at the end of the function is *not*
creating a leak of a DIR*!

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/util/vircgroupv1.c

index 91c1c4d4b1deaa4bbbe29a59cb0dfdf4752bb3c8..67b35c1b9ac19362058ecbf3c63b5cc210327e44 100644 (file)
@@ -875,12 +875,12 @@ virCgroupV1SetOwner(virCgroupPtr cgroup,
 {
     int ret = -1;
     size_t i;
-    DIR *dh = NULL;
     int direrr;
 
     for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {
         g_autofree char *base = NULL;
         struct dirent *de;
+        DIR *dh = NULL;
 
         if (!((1 << i) & controllers))
             continue;
@@ -922,7 +922,6 @@ virCgroupV1SetOwner(virCgroupPtr cgroup,
     ret = 0;
 
  cleanup:
-    VIR_DIR_CLOSE(dh);
     return ret;
 }