(
&mut self,
fuzz_varaint: &FuzzVariant,
visitor: &Visitor,
)
| 584 | } |
| 585 | |
| 586 | fn create_unlimit_call_fuzzer_var( |
| 587 | &mut self, |
| 588 | fuzz_varaint: &FuzzVariant, |
| 589 | visitor: &Visitor, |
| 590 | ) -> Result<()> { |
| 591 | let arg_pos = fuzz_varaint.get_arg_pos(); |
| 592 | let call_name = fuzz_varaint.get_call_name(); |
| 593 | let call_node = fuzz_varaint.get_call_node(); |
| 594 | log::trace!("change {arg_pos}-th arg of {call_name} be fuzzable"); |
| 595 | |
| 596 | let arg = get_nth_arg(call_node, *arg_pos)?.ignore_parenexpr(); |
| 597 | let arg_ty = get_func_gadget(call_name) |
| 598 | .unwrap() |
| 599 | .get_canonical_arg_type(*arg_pos) |
| 600 | .context(format!( |
| 601 | "cannot get canonical ty for arg :{arg_pos}-th {call_name}." |
| 602 | ))?; |
| 603 | self._create_unlimit_call_fuzzer_var(arg_ty, arg, visitor)?; |
| 604 | Ok(()) |
| 605 | } |
| 606 | |
| 607 | fn change_arg_by_constraint( |
| 608 | &mut self, |
no test coverage detected