projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: filter string wildcard comparison
[lttng-ust.git]
/
liblttng-ust
/
lttng-filter-interpreter.c
diff --git
a/liblttng-ust/lttng-filter-interpreter.c
b/liblttng-ust/lttng-filter-interpreter.c
index 4b75f0bcd01854b4de53e1877ce05603919d2aa4..8d74e7f9615461f1421f1042ee49234c64f33175 100644
(file)
--- a/
liblttng-ust/lttng-filter-interpreter.c
+++ b/
liblttng-ust/lttng-filter-interpreter.c
@@
-59,17
+59,27
@@
int stack_strcmp(struct estack *stack, int top, const char *cmp_type)
int escaped_r0 = 0;
if (unlikely(p - estack_bx(stack, top)->u.s.str > estack_bx(stack, top)->u.s.seq_len || *p == '\0')) {
int escaped_r0 = 0;
if (unlikely(p - estack_bx(stack, top)->u.s.str > estack_bx(stack, top)->u.s.seq_len || *p == '\0')) {
- if (q - estack_ax(stack, top)->u.s.str > estack_ax(stack, top)->u.s.seq_len || *q == '\0')
+ if (q - estack_ax(stack, top)->u.s.str > estack_ax(stack, top)->u.s.seq_len || *q == '\0')
{
diff = 0;
diff = 0;
- else
- diff = -1;
+ } else {
+ ret = parse_char(&q);
+ if (ret == -1)
+ diff = 0;
+ else
+ diff = -1;
+ }
break;
}
if (unlikely(q - estack_ax(stack, top)->u.s.str > estack_ax(stack, top)->u.s.seq_len || *q == '\0')) {
break;
}
if (unlikely(q - estack_ax(stack, top)->u.s.str > estack_ax(stack, top)->u.s.seq_len || *q == '\0')) {
- if (p - estack_bx(stack, top)->u.s.str > estack_bx(stack, top)->u.s.seq_len || *p == '\0')
+ if (p - estack_bx(stack, top)->u.s.str > estack_bx(stack, top)->u.s.seq_len || *p == '\0')
{
diff = 0;
diff = 0;
- else
- diff = 1;
+ } else {
+ ret = parse_char(&p);
+ if (ret == -1)
+ diff = 0;
+ else
+ diff = 1;
+ }
break;
}
if (estack_bx(stack, top)->u.s.literal) {
break;
}
if (estack_bx(stack, top)->u.s.literal) {
This page took
0.039364 seconds
and
4
git commands to generate.