From 5c89aea3d17fe5dabbf886626b1db6c34ee0070a Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Sat, 6 Nov 2010 23:04:12 +0300 Subject: eval: rexp3 should operate with 64bit numbers reloc_value returns 64bit numbers but we strip it down to 'int' which causes problems if the former value is big enough to overflow 'int'. Fix it. [ BR3104312 ] Reported-by: Christian Masloch Signed-off-by: Cyrill Gorcunov --- eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eval.c b/eval.c index 575824ad..bfbf2819 100644 --- a/eval.c +++ b/eval.c @@ -406,7 +406,7 @@ static expr *rexp3(int critical) TOKEN_GE ? ">=" : ">")); v = 0; /* must set it to _something_ */ } else { - int vv = reloc_value(e); + int64_t vv = reloc_value(e); if (vv == 0) v = (j == TOKEN_LE || j == TOKEN_GE); else if (vv > 0) -- cgit v1.2.1