summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-11-07 23:03:19 -0500
committerLennart Poettering <lennart@poettering.net>2010-11-10 22:38:43 +0100
commitdce8e2e12304946a13c261b2324ce1e14ed9f5cd (patch)
tree313c570727584f399c3125b785aa978b61bc6861
parente23a0ce8badd09aefa961a3a576bfe85f6ebbad7 (diff)
label: use internal utility functions wher epossible
-rw-r--r--src/label.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/label.c b/src/label.c
index d037c4c932..218d0dfa06 100644
--- a/src/label.c
+++ b/src/label.c
@@ -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);
}