Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c15dd044 authored by Colin Cross's avatar Colin Cross
Browse files

processgroup: close directories opened by removeAllProcessGroups()

removeAllProcessGroups and removeUidProcessGroups were calling
opendir, but never called closedir.  This would leave a leaked
file descriptor for every /acct/uid_* directory that existed
at boot.

Change-Id: Ia08eccd42d6ad7a6c1c78402519ac2e53b4fc83a
parent 342a2264
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ static void removeUidProcessGroups(const char *uid_path)
            SLOGV("removing %s\n", path);
            rmdir(path);
        }
        closedir(uid);
    }
}

@@ -180,8 +181,7 @@ void removeAllProcessGroups()
    DIR *root = opendir(PROCESSGROUP_CGROUP_PATH);
    if (root == NULL) {
        SLOGE("failed to open %s: %s", PROCESSGROUP_CGROUP_PATH, strerror(errno));
    }
    if (root != NULL) {
    } else {
        struct dirent cur;
        struct dirent *dir;
        while ((readdir_r(root, &cur, &dir) == 0) && dir) {
@@ -199,6 +199,7 @@ void removeAllProcessGroups()
            SLOGV("removing %s\n", path);
            rmdir(path);
        }
        closedir(root);
    }
}