MCPcopy Create free account
hub / github.com/FuzzAnything/PromptFuzz / change_call_arg_fuzzable

Method change_call_arg_fuzzable

src/program/transform.rs:672–695  ·  view source on GitHub ↗
(&mut self, fuzz_varaint: &FuzzVariant)

Source from the content-addressed store, hash-verified

670 }
671
672 fn change_call_arg_fuzzable(&mut self, fuzz_varaint: &FuzzVariant) -> Result<()> {
673 let visitor = self.get_new_visitor()?;
674 let n_call = fuzz_varaint.get_n_th_call();
675 let arg_pos = fuzz_varaint.get_arg_pos();
676 let call_name = fuzz_varaint.get_call_name();
677 let call = visitor.visit_nth_library_call(*n_call);
678 let constraint = fuzz_varaint.get_constraint();
679
680 let arg = crate::ast::utils::get_nth_arg(call, *arg_pos)?;
681 let ty = get_func_gadget(call_name)
682 .unwrap()
683 .get_canonical_arg_type(*arg_pos)
684 .unwrap();
685
686 self.change_arg_by_constraint(
687 (call, call_name, *n_call),
688 *arg_pos,
689 arg,
690 constraint,
691 ty,
692 &visitor,
693 )?;
694 Ok(())
695 }
696
697 /// make up a variable for this call's list arg.
698 fn makeup_sized_call_list_arg(

Callers 1

Calls 10

get_nth_argFunction · 0.85
get_func_gadgetFunction · 0.85
get_new_visitorMethod · 0.80
get_n_th_callMethod · 0.80
get_arg_posMethod · 0.80
get_constraintMethod · 0.80
get_call_nameMethod · 0.45

Tested by

no test coverage detected