core: Fix memory leaks 70/276770/1
authorŁukasz Stelmach <l.stelmach@samsung.com>
Tue, 21 Jun 2022 10:12:01 +0000 (12:12 +0200)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Fri, 24 Jun 2022 08:22:44 +0000 (10:22 +0200)
arg_early_core_pattern and arg_watchdog_device hold pointers to memory
allocated with strdup() (inside path_make_absolute_cwd). The memory needs
to be freed in reset_arguments() during reload rather than forgotten.

Change-Id: I2ab2fb856ce9dae70443430d99279f4d4848231e
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Origin: https://github.com/systemd/systemd/commit/919ea64f69f710840c1bc93f0f7cb7c51aae45d0

src/core/main.c

index a3ccae9..7f9f568 100644 (file)
@@ -2125,8 +2125,8 @@ static void reset_arguments(void) {
         arg_runtime_watchdog = 0;
         arg_reboot_watchdog = 0; /* 10 * USEC_PER_MINUTE; */
         arg_kexec_watchdog = 0;
-        arg_early_core_pattern = NULL;
-        arg_watchdog_device = NULL;
+        arg_early_core_pattern = mfree(arg_early_core_pattern);
+        arg_watchdog_device = mfree(arg_watchdog_device);
 
         arg_default_environment = strv_free(arg_default_environment);
         rlimit_free_all(arg_default_rlimit);