diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-01-17 11:17:38 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-01-17 11:17:38 +0100 |
commit | d72495759b0f953b86f16669bf8120ede28836a5 (patch) | |
tree | eacd34debbc87ef5838ad5cd36a8c637d2be68d1 /src | |
parent | a2556d25ae8e7c1aa1e75affb45226b02813a03b (diff) | |
download | systemd-d72495759b0f953b86f16669bf8120ede28836a5.tar.gz |
tree-wide: port all code to use safe_getcwd()
Diffstat (limited to 'src')
-rw-r--r-- | src/basic/path-util.c | 7 | ||||
-rw-r--r-- | src/cgls/cgls.c | 6 | ||||
-rw-r--r-- | src/nspawn/nspawn.c | 7 | ||||
-rw-r--r-- | src/test/test-fs-util.c | 2 |
4 files changed, 13 insertions, 9 deletions
diff --git a/src/basic/path-util.c b/src/basic/path-util.c index fbf69d12eb..666f48cfc3 100644 --- a/src/basic/path-util.c +++ b/src/basic/path-util.c @@ -110,6 +110,7 @@ int safe_getcwd(char **ret) { int path_make_absolute_cwd(const char *p, char **ret) { char *c; + int r; assert(p); assert(ret); @@ -122,9 +123,9 @@ int path_make_absolute_cwd(const char *p, char **ret) { else { _cleanup_free_ char *cwd = NULL; - cwd = get_current_dir_name(); - if (!cwd) - return negative_errno(); + r = safe_getcwd(&cwd); + if (r < 0) + return r; c = strjoin(cwd, "/", p); } diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c index fb44b9f669..bd8c6a0059 100644 --- a/src/cgls/cgls.c +++ b/src/cgls/cgls.c @@ -277,9 +277,9 @@ int main(int argc, char *argv[]) { if (!arg_machine) { _cleanup_free_ char *cwd = NULL; - cwd = get_current_dir_name(); - if (!cwd) { - r = log_error_errno(errno, "Cannot determine current working directory: %m"); + r = safe_getcwd(&cwd); + if (r < 0) { + log_error_errno(r, "Cannot determine current working directory: %m"); goto finish; } diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index f580b46f86..0f05ecff03 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -2163,8 +2163,11 @@ static int determine_names(void) { if (!arg_ephemeral) arg_read_only = arg_read_only || i->read_only; - } else - arg_directory = get_current_dir_name(); + } else { + r = safe_getcwd(&arg_directory); + if (r < 0) + return log_error_errno(r, "Failed to determine current directory: %m"); + } if (!arg_directory && !arg_image) { log_error("Failed to determine path, please use -D or -i."); diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c index cda6d9cc72..9f3a500080 100644 --- a/src/test/test-fs-util.c +++ b/src/test/test-fs-util.c @@ -326,7 +326,7 @@ static void test_readlink_and_make_absolute(void) { free(r); assert_se(unlink(name_alias) >= 0); - assert_se(pwd = get_current_dir_name()); + assert_se(safe_getcwd(&pwd) >= 0); assert_se(chdir(tempdir) >= 0); assert_se(symlink(name2, name_alias) >= 0); |