From 98234ad6e16e868bd1fa3e4622c43a182fdee75c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Renaud=20M=C3=A9trich?= Date: Sat, 23 Nov 2019 13:37:02 +0100 Subject: [PATCH] unit: fix potential use of cgroup_path after free() when freeing unit Resolves: #1760149 --- src/core/cgroup.c | 3 +-- src/core/unit.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/core/cgroup.c b/src/core/cgroup.c index 0ce265dbf4..9af8126957 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c @@ -874,8 +874,7 @@ void unit_destroy_cgroup_if_empty(Unit *u) { hashmap_remove(u->manager->cgroup_unit, u->cgroup_path); - free(u->cgroup_path); - u->cgroup_path = NULL; + u->cgroup_path = mfree(u->cgroup_path); u->cgroup_realized = false; u->cgroup_realized_mask = 0; } diff --git a/src/core/unit.c b/src/core/unit.c index 294c9eb70f..0dc66203a4 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -515,7 +515,7 @@ void unit_free(Unit *u) { if (u->cgroup_path) { hashmap_remove(u->manager->cgroup_unit, u->cgroup_path); - free(u->cgroup_path); + u->cgroup_path = mfree(u->cgroup_path); } set_remove(u->manager->failed_units, u);