Fix: off-by-one in sequence filter comparator
[lttng-ust.git] / liblttng-ust / lttng-filter-interpreter.c
index 29bcaeffa0656cacea08f59f5c6b782bb23c1af7..df4add225dbb2585548b6bcb740a4aaa026772b8 100644 (file)
@@ -58,8 +58,8 @@ int stack_strcmp(struct estack *stack, int top, const char *cmp_type)
        for (;;) {
                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 (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') {
                                return 0;
                        } else {
                                if (estack_ax(stack, top)->u.s.literal) {
@@ -70,8 +70,8 @@ int stack_strcmp(struct estack *stack, int top, const char *cmp_type)
                                return -1;
                        }
                }
-               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 (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') {
                                return 0;
                        } else {
                                if (estack_bx(stack, top)->u.s.literal) {
This page took 0.024251 seconds and 4 git commands to generate.