diff options
| author | serpilliere <fabrice.desclaux@cea.fr> | 2015-02-21 21:09:07 +0100 |
|---|---|---|
| committer | serpilliere <fabrice.desclaux@cea.fr> | 2015-02-22 01:48:27 +0100 |
| commit | dd2da246f676ff827201c9eee3ae698081875bf7 (patch) | |
| tree | 92f0b1839ac0398426ad0332cd973cf9b41ca8c9 /miasm2/expression/expression_helper.py | |
| parent | f26427471fb9cda89b36b1d2609a9f58f1d79d68 (diff) | |
| download | miasm-dd2da246f676ff827201c9eee3ae698081875bf7.tar.gz miasm-dd2da246f676ff827201c9eee3ae698081875bf7.zip | |
Expression: remove code which uses expression modifications
Diffstat (limited to 'miasm2/expression/expression_helper.py')
| -rw-r--r-- | miasm2/expression/expression_helper.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/miasm2/expression/expression_helper.py b/miasm2/expression/expression_helper.py index 825cad60..3555530a 100644 --- a/miasm2/expression/expression_helper.py +++ b/miasm2/expression/expression_helper.py @@ -64,9 +64,11 @@ def merge_sliceto_slice(args): final_sources = [] sorted_s = [] for x in sources_int.values(): + x = list(x) # mask int v = x[0].arg & ((1 << (x[2] - x[1])) - 1) - x[0].arg = v + x[0] = m2_expr.ExprInt_from(x[0], v) + x = tuple(x) sorted_s.append((x[1], x)) sorted_s.sort() while sorted_s: @@ -81,7 +83,7 @@ def merge_sliceto_slice(args): a = m2_expr.mod_size2uint[size]( (int(out[0].arg) << (out[1] - s_start)) + int(sorted_s[-1][1][0].arg)) - out[0].arg = a + out[0] = m2_expr.ExprInt(a) sorted_s.pop() out[1] = s_start out[0] = m2_expr.ExprInt_fromsize(size, out[0].arg) |