basebuilder_pel7ppc64lebuilder0
5 years ago
2 changed files with 44 additions and 1 deletions
@ -0,0 +1,39 @@ |
|||||||
|
From 97c5fed4ddbd627c046fbf946474270182bdda6e Mon Sep 17 00:00:00 2001 |
||||||
|
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com> |
||||||
|
Date: Sat, 23 Nov 2019 13:37:02 +0100 |
||||||
|
Subject: [PATCH] unit: fix potential use of cgroup_path after free() when |
||||||
|
freeing unit |
||||||
|
|
||||||
|
Resolves: #1778083 |
||||||
|
--- |
||||||
|
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 0779fa5552..f598fdd1e7 100644 |
||||||
|
--- a/src/core/cgroup.c |
||||||
|
+++ b/src/core/cgroup.c |
||||||
|
@@ -873,8 +873,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 def36a0930..cabbf8056e 100644 |
||||||
|
--- a/src/core/unit.c |
||||||
|
+++ b/src/core/unit.c |
||||||
|
@@ -514,7 +514,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); |
Loading…
Reference in new issue