Smack: fix for /smack/access output, use string instead of byte
[cascardo/linux.git] / security / smack / smackfs.c
index 54f6e18..5498c4a 100644 (file)
@@ -1497,6 +1497,7 @@ static ssize_t smk_write_access(struct file *file, const char __user *buf,
 {
        struct smack_rule rule;
        char *data;
+       int res;
 
        if (!capable(CAP_MAC_ADMIN))
                return -EPERM;
@@ -1508,8 +1509,10 @@ static ssize_t smk_write_access(struct file *file, const char __user *buf,
        if (count < SMK_LOADLEN || smk_parse_rule(data, &rule))
                return -EINVAL;
 
-       data[0] = smk_access(rule.smk_subject, rule.smk_object,
-                            rule.smk_access, NULL) == 0;
+       res = smk_access(rule.smk_subject, rule.smk_object, rule.smk_access,
+                         NULL);
+       data[0] = res == 0 ? '1' : '0';
+       data[1] = '\0';
 
        simple_transaction_set(file, 1);
        return SMK_LOADLEN;