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. (cherry picked from commit 5ea173a91b2093664a9ebb9add678edd6f5d1efd) (cherry picked from commit 0916514b8c595e6133527a4386d9903f2c7559d7)
This commit is contained in:
parent
fd5fe6d834
commit
8f13d34510
@ -715,7 +715,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;
|
||||
@ -724,11 +724,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