diff options
Diffstat (limited to 'miasm2/analysis/expression_range.py')
| -rw-r--r-- | miasm2/analysis/expression_range.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/miasm2/analysis/expression_range.py b/miasm2/analysis/expression_range.py index f09a18d0..8f498549 100644 --- a/miasm2/analysis/expression_range.py +++ b/miasm2/analysis/expression_range.py @@ -1,5 +1,8 @@ """Naive range analysis for expression""" +from future.builtins import zip +from functools import reduce + from miasm2.analysis.modularintervals import ModularIntervals _op_range_handler = { @@ -44,9 +47,11 @@ def expr_range(expr): # Otherwise, overapproximate (ie. full range interval) if expr.op in _op_range_handler: sub_ranges = [expr_range(arg) for arg in expr.args] - return reduce(_op_range_handler[expr.op], - (sub_range for sub_range in sub_ranges[1:]), - sub_ranges[0]) + return reduce( + _op_range_handler[expr.op], + (sub_range for sub_range in sub_ranges[1:]), + sub_ranges[0] + ) elif expr.op == "-": assert len(expr.args) == 1 return - expr_range(expr.args[0]) |