Commit 9e2fe574 authored by Christian Göttsche's avatar Christian Göttsche Committed by Paul Moore

selinux: enclose macro arguments in parenthesis

Enclose the macro arguments in parenthesis to avoid potential evaluation
order issues.

Note the xperm and ebitmap macros are still not side-effect safe due to
double evaluation.

Reported by clang-tidy [bugprone-macro-parentheses]
Signed-off-by: default avatarChristian Göttsche <cgzones@googlemail.com>
Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent d3b1161f
...@@ -254,8 +254,8 @@ struct av_decision { ...@@ -254,8 +254,8 @@ struct av_decision {
#define XPERMS_AUDITALLOW 2 #define XPERMS_AUDITALLOW 2
#define XPERMS_DONTAUDIT 4 #define XPERMS_DONTAUDIT 4
#define security_xperm_set(perms, x) (perms[x >> 5] |= 1 << (x & 0x1f)) #define security_xperm_set(perms, x) ((perms)[(x) >> 5] |= 1 << ((x) & 0x1f))
#define security_xperm_test(perms, x) (1 & (perms[x >> 5] >> (x & 0x1f))) #define security_xperm_test(perms, x) (1 & ((perms)[(x) >> 5] >> ((x) & 0x1f)))
struct extended_perms_data { struct extended_perms_data {
u32 p[8]; u32 p[8];
}; };
......
...@@ -118,9 +118,9 @@ static inline void ebitmap_node_clr_bit(struct ebitmap_node *n, ...@@ -118,9 +118,9 @@ static inline void ebitmap_node_clr_bit(struct ebitmap_node *n,
} }
#define ebitmap_for_each_positive_bit(e, n, bit) \ #define ebitmap_for_each_positive_bit(e, n, bit) \
for (bit = ebitmap_start_positive(e, &n); \ for ((bit) = ebitmap_start_positive(e, &(n)); \
bit < ebitmap_length(e); \ (bit) < ebitmap_length(e); \
bit = ebitmap_next_positive(e, &n, bit)) \ (bit) = ebitmap_next_positive(e, &(n), bit)) \
int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2); int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2);
int ebitmap_cpy(struct ebitmap *dst, struct ebitmap *src); int ebitmap_cpy(struct ebitmap *dst, struct ebitmap *src);
......
...@@ -27,8 +27,8 @@ struct sidtab_str_cache { ...@@ -27,8 +27,8 @@ struct sidtab_str_cache {
char str[]; char str[];
}; };
#define index_to_sid(index) (index + SECINITSID_NUM + 1) #define index_to_sid(index) ((index) + SECINITSID_NUM + 1)
#define sid_to_index(sid) (sid - (SECINITSID_NUM + 1)) #define sid_to_index(sid) ((sid) - (SECINITSID_NUM + 1))
int sidtab_init(struct sidtab *s) int sidtab_init(struct sidtab *s)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment