diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2017-07-18 23:30:52 +0900 |
---|---|---|
committer | Evgeny Vereshchagin <evvers@ya.ru> | 2017-07-18 17:30:52 +0300 |
commit | 35aba85a73c5872f18400bcbff930c9822f53771 (patch) | |
tree | 0e1f26f9cb30fe6002bce4370dbc7857e5bf6c01 | |
parent | 3536f49e8fa281539798a7bc5004d73302f39673 (diff) | |
download | systemd-35aba85a73c5872f18400bcbff930c9822f53771.tar.gz |
core/manager: fix memory leak (#6400)
This fixes the memory leak introduced by 3536f49e8fa281539798a7bc5004d73302f39673,
which forgot to free the prefixes in the manager.
Fixes #6398.
-rw-r--r-- | src/core/manager.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/manager.c b/src/core/manager.c index a737ab0754..6389324391 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1112,6 +1112,7 @@ static void manager_clear_jobs_and_units(Manager *m) { Manager* manager_free(Manager *m) { UnitType c; int i; + ExecDirectoryType dt; if (!m) return NULL; @@ -1184,6 +1185,9 @@ Manager* manager_free(Manager *m) { hashmap_free(m->uid_refs); hashmap_free(m->gid_refs); + for (dt = 0; dt < _EXEC_DIRECTORY_MAX; dt++) + m->prefix[dt] = mfree(m->prefix[dt]); + return mfree(m); } |