diff --git a/Userland/Libraries/LibC/grp.cpp b/Userland/Libraries/LibC/grp.cpp index 676be6b1c3..94ad2b2634 100644 --- a/Userland/Libraries/LibC/grp.cpp +++ b/Userland/Libraries/LibC/grp.cpp @@ -5,6 +5,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include @@ -58,6 +59,7 @@ void endgrent() struct group* getgrgid(gid_t gid) { setgrent(); + ScopeGuard guard = [] { endgrent(); }; while (auto* gr = getgrent()) { if (gr->gr_gid == gid) return gr; @@ -68,6 +70,7 @@ struct group* getgrgid(gid_t gid) struct group* getgrnam(char const* name) { setgrent(); + ScopeGuard guard = [] { endgrent(); }; while (auto* gr = getgrent()) { if (!strcmp(gr->gr_name, name)) return gr;