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:
parent
0f3c342903
commit
5ea173a91b
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user