bitblaze-fuzzball / fuzzball

FuzzBALL: Vine-based Binary Symbolic Execution
Other
214 stars 58 forks source link

Recursively rewriting index expressions used in table lookup for solver #36

Closed vaibhavbsharma closed 4 years ago

vaibhavbsharma commented 4 years ago

Changes in this commit were made in collaboration with Stephen McCamant(smccaman@umn.edu). This commit fixes a bug in formula_manager where it was not recursively rewriting the index expression used in a table lookup for the solver. This was leading to a later error in ocaml/smt_lib2.ml because it would run into a variable granularity memory access variable which should have been turned into a scalar variable earlier. Further explanation for this rewriting can be found in the comments above formula_manager.ml#rewrite_mem_to_scalar.