else
TRACE("Removed cgroup tree %d(%s)", h->dfd_base, path_prune);
- if (h->container_limit_path != h->container_full_path)
- free_disarm(h->container_limit_path);
- free_disarm(h->container_full_path);
+ free_equal(h->container_limit_path, h->container_full_path);
}
return 0;
if (h->cgfd_limit < 0)
prune = false;
- if (h->container_full_path != h->container_limit_path)
- free_disarm(h->container_limit_path);
- free_disarm(h->container_full_path);
-
- close_prot_errno_disarm(h->cgfd_con);
- close_prot_errno_disarm(h->cgfd_limit);
+ free_equal(h->container_full_path, h->container_limit_path);
+ close_equal(h->cgfd_con, h->cgfd_limit);
} else {
/* Check whether we actually created the cgroup to prune. */
if (h->cgfd_mon < 0)
#include "conf.h"
#include "config.h"
#include "initutils.h"
+#include "memory_utils.h"
#include "log.h"
#include "start.h"
#include "string_utils.h"
free(ops->cgroup_pattern);
free(ops->monitor_cgroup);
- {
- if (ops->container_cgroup != ops->container_limit_cgroup)
- free(ops->container_limit_cgroup);
- free(ops->container_cgroup);
- }
+ free_equal(ops->container_cgroup, ops->container_limit_cgroup);
if (ops->cgroup2_devices)
bpf_program_free(ops->cgroup2_devices);
free((*it)->mountpoint);
free((*it)->container_base_path);
- {
- free((*it)->container_full_path);
-
- if ((*it)->container_full_path != (*it)->container_limit_path)
- free((*it)->container_limit_path);
- }
-
- {
- if ((*it)->cgfd_limit >= 0 && (*it)->cgfd_con != (*it)->cgfd_limit)
- close((*it)->cgfd_limit);
+ free_equal((*it)->container_full_path,
+ (*it)->container_limit_path);
- if ((*it)->cgfd_con >= 0)
- close((*it)->cgfd_con);
-
- }
+ close_equal((*it)->cgfd_con, (*it)->cgfd_limit);
if ((*it)->cgfd_mon >= 0)
close((*it)->cgfd_mon);
- {
- if ((*it)->dfd_base >= 0 && (*it)->dfd_mnt != (*it)->dfd_base)
- close((*it)->dfd_base);
-
- if ((*it)->dfd_mnt >= 0)
- close((*it)->dfd_mnt);
- }
+ close_equal((*it)->dfd_base, (*it)->dfd_mnt);
free(*it);
}