chiark / gitweb /
label: use internal utility functions wher epossible
authorLennart Poettering <lennart@poettering.net>
Mon, 8 Nov 2010 04:03:19 +0000 (23:03 -0500)
committerLennart Poettering <lennart@poettering.net>
Wed, 10 Nov 2010 21:38:43 +0000 (22:38 +0100)
src/label.c

index d037c4c93215bfe67b84439b5eb27c3100c41123..218d0dfa06f119e34991f2bd4d281c163e5b9f9f 100644 (file)
@@ -258,20 +258,15 @@ int label_mkdir(
 
         if (use_selinux() && label_hnd) {
 
-                if (path[0] == '/')
+                if (path_is_absolute(path))
                         r = selabel_lookup_raw(label_hnd, &fcon, path, mode);
                 else {
-                        char *cwd = NULL, *newpath = NULL;
+                        char *newpath = NULL;
 
-                        cwd = get_current_dir_name();
-
-                        if (cwd || asprintf(&newpath, "%s/%s", cwd, path) < 0) {
-                                free(cwd);
-                                return -errno;
-                        }
+                        if (!(newpath = path_make_absolute_cwd(path)))
+                                return -ENOMEM;
 
                         r = selabel_lookup_raw(label_hnd, &fcon, newpath, mode);
-                        free(cwd);
                         free(newpath);
                 }