]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: fix invalid assertion
authorLennart Poettering <lennart@poettering.net>
Wed, 15 Jul 2020 16:49:08 +0000 (18:49 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 16 Jul 2020 00:13:04 +0000 (09:13 +0900)
We miscounted here, and would hit an assert once too early.

src/core/execute.c

index 3c17c6b5b0823742980f69f30bd8190694e24ac6..70b7b8dc3c23bfb6dfa05e37380662f301c24ebe 100644 (file)
@@ -1725,7 +1725,8 @@ static int build_environment(
         assert(p);
         assert(ret);
 
-        our_env = new0(char*, 15 + _EXEC_DIRECTORY_TYPE_MAX);
+#define N_ENV_VARS 15
+        our_env = new0(char*, N_ENV_VARS + _EXEC_DIRECTORY_TYPE_MAX);
         if (!our_env)
                 return -ENOMEM;
 
@@ -1873,7 +1874,8 @@ static int build_environment(
         }
 
         our_env[n_env++] = NULL;
-        assert(n_env <= 14 + _EXEC_DIRECTORY_TYPE_MAX);
+        assert(n_env <= N_ENV_VARS + _EXEC_DIRECTORY_TYPE_MAX);
+#undef N_ENV_VARS
 
         *ret = TAKE_PTR(our_env);