The byte-order of the righthand operands of the right-shifts generated for payload and exthdr expressions is big-endian. However, all right shift operands should be host-endian. Signed-off-by: Jeremy Sowden <jeremy@xxxxxxxxxx> --- src/evaluate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/evaluate.c b/src/evaluate.c index 09dd493f0757..658f3d77990d 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -487,7 +487,7 @@ static void expr_evaluate_bits(struct eval_ctx *ctx, struct expr **exprp) if (shift) { off = constant_expr_alloc(&expr->location, expr_basetype(expr), - BYTEORDER_BIG_ENDIAN, + BYTEORDER_HOST_ENDIAN, sizeof(shift), &shift); lshift = binop_expr_alloc(&expr->location, OP_RSHIFT, and, off); -- 2.24.1