tree-wide: port all code to use safe_getcwd()
authorLennart Poettering <lennart@poettering.net>
Wed, 17 Jan 2018 10:17:38 +0000 (11:17 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 17 Jan 2018 10:17:38 +0000 (11:17 +0100)
src/basic/path-util.c
src/cgls/cgls.c
src/nspawn/nspawn.c
src/test/test-fs-util.c

index fbf69d1..666f48c 100644 (file)
@@ -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);
         }
index fb44b9f..bd8c6a0 100644 (file)
@@ -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;
                         }
 
index f580b46..0f05ecf 100644 (file)
@@ -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.");
index cda6d9c..9f3a500 100644 (file)
@@ -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);