env-util: ensure NUL termination of the replace_env_argv() output array

The output array is allocated with new() and left uninitialized, but a
bare unset "$VAR" token expands to nothing and writes no terminator.
When such a token leads or is the only word, the returned strv is left
without a trailing NULL.

Follow-up for f331434d13
This commit is contained in:
Luca Boccassi
2026-06-30 11:49:53 +01:00
parent a3bf0f2f86
commit 1958539136
2 changed files with 26 additions and 0 deletions
+2
View File
@@ -948,6 +948,8 @@ int replace_env_argv(
}
k += q;
/* reallocarray() does not zero-initialize the grown tail, add NUL termination */
n[k] = NULL;
continue;
}