fix: smack_new_from_path() follow parameter
authorJarkko Sakkinen <jarkko.sakkinen@intel.com>
Mon, 3 Jun 2013 08:20:16 +0000 (11:20 +0300)
committerJarkko Sakkinen <jarkko.sakkinen@intel.com>
Mon, 3 Jun 2013 08:20:16 +0000 (11:20 +0300)
Mistake in smack_new_from_path(). When follow is true getxattr()
should be called and lgetxattr() otherwise.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@intel.com>
libsmack/libsmack.c

index 7e86a5a..30a1ebf 100644 (file)
@@ -548,8 +548,8 @@ int smack_new_label_from_path(const char *path, const char *xattr, int follow,
        ssize_t ret = 0;
 
        ret = follow ?
-               lgetxattr(path, xattr, NULL, 0) :
-               getxattr(path, xattr, NULL, 0);
+               getxattr(path, xattr, NULL, 0) :
+               lgetxattr(path, xattr, NULL, 0);
        if (ret < 0 && errno != ERANGE)
                return -1;
 
@@ -558,8 +558,8 @@ int smack_new_label_from_path(const char *path, const char *xattr, int follow,
                return -1;
 
        ret = follow ?
-               lgetxattr(path, xattr, result, ret) :
-               getxattr(path, xattr, result, ret);
+               getxattr(path, xattr, result, ret) :
+               lgetxattr(path, xattr, result, ret);
        if (ret < 0) {
                free(result);
                return -1;