diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-07-08 18:04:44 -0400 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-07-25 09:46:53 +0200 |
commit | 1f4ffab4a84a9fb4c7b10c01a2435f79c39ef05e (patch) | |
tree | d8fee28fdde78fa074f930d5fab783607c728f8f | |
parent | 774663fa082de3fe169d1ae5de8757a92d58a4c5 (diff) |
sd-login: fix memleak when output argument is NULL
-rw-r--r-- | src/libelogind/sd-login/sd-login.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libelogind/sd-login/sd-login.c b/src/libelogind/sd-login/sd-login.c index 5f90ba70c..80b8f8fef 100644 --- a/src/libelogind/sd-login/sd-login.c +++ b/src/libelogind/sd-login/sd-login.c @@ -942,7 +942,8 @@ _public_ int sd_get_uids(uid_t **users) { } _public_ int sd_get_machine_names(char ***machines) { - char **l, **a, **b; + _cleanup_strv_free_ char **l = NULL; + char **a, **b; int r; r = get_files_in_directory("/run/systemd/machines/", &l); @@ -971,8 +972,10 @@ _public_ int sd_get_machine_names(char ***machines) { *b = NULL; } - if (machines) + if (machines) { *machines = l; + l = NULL; + } return r; } |