summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorVesa-Matti Kari <vmkari@cc.helsinki.fi>2008-08-06 17:24:51 +0200
committerJames Morris <jmorris@namei.org>2008-08-07 00:56:16 +0200
commit421fae06be9e0dac45747494756b3580643815f9 (patch)
tree8b390e53636092477c82304b7f7f10524df6fd1b /security
parentsmack: limit privilege by label (diff)
downloadlinux-421fae06be9e0dac45747494756b3580643815f9.tar.xz
linux-421fae06be9e0dac45747494756b3580643815f9.zip
selinux: conditional expression type validation was off-by-one
expr_isvalid() in conditional.c was off-by-one and allowed invalid expression type COND_LAST. However, it is this header file that needs to be fixed. That way the if-statement's disjunction's second component reads more naturally, "if expr type is greater than the last allowed value" ( rather than using ">=" in conditional.c): if (expr->expr_type <= 0 || expr->expr_type > COND_LAST) Signed-off-by: Vesa-Matti Kari <vmkari@cc.helsinki.fi> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security')
-rw-r--r--security/selinux/ss/conditional.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/selinux/ss/conditional.h b/security/selinux/ss/conditional.h
index 65b9f8366e9c..53ddb013ae57 100644
--- a/security/selinux/ss/conditional.h
+++ b/security/selinux/ss/conditional.h
@@ -28,7 +28,7 @@ struct cond_expr {
#define COND_XOR 5 /* bool ^ bool */
#define COND_EQ 6 /* bool == bool */
#define COND_NEQ 7 /* bool != bool */
-#define COND_LAST 8
+#define COND_LAST COND_NEQ
__u32 expr_type;
__u32 bool;
struct cond_expr *next;