From 09fc3f511f7b5579fdc76eb43035c2758661f7f7 Mon Sep 17 00:00:00 2001 From: Alice Frosi Date: Fri, 14 Apr 2023 13:44:42 +0200 Subject: Fix filter offset for gt and lt --- cooker/filter.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cooker/filter.c') diff --git a/cooker/filter.c b/cooker/filter.c index a4e1857..8354ec5 100644 --- a/cooker/filter.c +++ b/cooker/filter.c @@ -298,7 +298,7 @@ static unsigned int gt(struct sock_filter filter[], int idx, hi = get_hi((entry->args[idx]).value.v64); lo = get_lo((entry->args[idx]).value.v64); filter[size++] = (struct sock_filter)LOAD(HI_ARG(idx)); - filter[size++] = (struct sock_filter)GT(hi, jtrue, jfalse); + filter[size++] = (struct sock_filter)GT(hi, jtrue + 2, 0); filter[size++] = (struct sock_filter)LOAD(LO_ARG(idx)); filter[size++] = (struct sock_filter)GT(lo, jtrue, jfalse); break; @@ -325,7 +325,7 @@ static unsigned int lt(struct sock_filter filter[], int idx, hi = get_hi((entry->args[idx]).value.v64); lo = get_lo((entry->args[idx]).value.v64); filter[size++] = (struct sock_filter)LOAD(HI_ARG(idx)); - filter[size++] = (struct sock_filter)LT(hi, jtrue, jfalse); + filter[size++] = (struct sock_filter)LT(hi, jtrue + 2, jfalse); filter[size++] = (struct sock_filter)LOAD(LO_ARG(idx)); filter[size++] = (struct sock_filter)LT(lo, jtrue, jfalse); break; -- cgit v1.2.3