1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-03-08 20:58:20 +03:00

strv: Make sure strv_make_nulstr() always returns a valid nulstr

strv_make_nulstr() is documented to always return a valid nulstr,
but if the input is `NULL` we return a string terminated with only
a single NUL terminator, so let's fix that and always terminate the
resulting string with two NUL bytes.
This commit is contained in:
Daan De Meyer 2022-11-11 11:26:54 +01:00
parent 0f3c342903
commit 5ea173a91b

View File

@ -721,7 +721,7 @@ int strv_make_nulstr(char * const *l, char **ret, size_t *ret_size) {
}
if (!m) {
m = new0(char, 1);
m = new0(char, 2);
if (!m)
return -ENOMEM;
n = 1;
@ -730,11 +730,9 @@ int strv_make_nulstr(char * const *l, char **ret, size_t *ret_size) {
m[n] = '\0';
assert(n > 0);
*ret = m;
*ret = TAKE_PTR(m);
*ret_size = n - 1;
m = NULL;
return 0;
}