projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: use BUG_ON instead of accessing array subscript above array bounds
[lttng-modules.git]
/
lttng-filter.h
diff --git
a/lttng-filter.h
b/lttng-filter.h
index 98b97c20bcd774ab89021012291ffc0ed6c51d06..7ac794d6c927d1023dc8580a4174d8bad288e8cb 100644
(file)
--- a/
lttng-filter.h
+++ b/
lttng-filter.h
@@
-121,8
+121,10
@@
struct estack_entry {
struct {
const char *str;
struct {
const char *str;
+ const char __user *user_str;
size_t seq_len;
int literal; /* is string literal ? */
size_t seq_len;
int literal; /* is string literal ? */
+ int user; /* is string from userspace ? */
} s;
} u;
};
} s;
} u;
};
@@
-137,19
+139,19
@@
struct estack {
#define estack_ax(stack, top) \
({ \
#define estack_ax(stack, top) \
({ \
-
WARN_ON_ONCE((top) <= FILTER_STACK_EMPTY);
\
+
BUG_ON((top) <= FILTER_STACK_EMPTY);
\
&(stack)->e[top]; \
})
#define estack_bx(stack, top) \
({ \
&(stack)->e[top]; \
})
#define estack_bx(stack, top) \
({ \
-
WARN_ON_ONCE((top) <= FILTER_STACK_EMPTY + 1);
\
+
BUG_ON((top) <= FILTER_STACK_EMPTY + 1);
\
&(stack)->e[(top) - 1]; \
})
#define estack_push(stack, top, ax, bx) \
do { \
&(stack)->e[(top) - 1]; \
})
#define estack_push(stack, top, ax, bx) \
do { \
-
WARN_ON_ONCE((top) >= FILTER_STACK_LEN - 1);
\
+
BUG_ON((top) >= FILTER_STACK_LEN - 1);
\
(stack)->e[(top) - 1].u.v = (bx); \
(bx) = (ax); \
++(top); \
(stack)->e[(top) - 1].u.v = (bx); \
(bx) = (ax); \
++(top); \
@@
-157,7
+159,7
@@
struct estack {
#define estack_pop(stack, top, ax, bx) \
do { \
#define estack_pop(stack, top, ax, bx) \
do { \
-
WARN_ON_ONCE((top) <= FILTER_STACK_EMPTY);
\
+
BUG_ON((top) <= FILTER_STACK_EMPTY);
\
(ax) = (bx); \
(bx) = (stack)->e[(top) - 2].u.v; \
(top)--; \
(ax) = (bx); \
(bx) = (stack)->e[(top) - 2].u.v; \
(top)--; \
This page took
0.026556 seconds
and
4
git commands to generate.