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

Method make_unlimit_list_expr_fuzzable

src/program/transform.rs:1119–1205  ·  view source on GitHub ↗
(
        &mut self,
        decl_name: &str,
        ile: &InitListExpr,
        size_arg: Option<(&str, &str, u32)>,
    )

Source from the content-addressed store, hash-verified

1117 }
1118
1119 fn make_unlimit_list_expr_fuzzable(
1120 &mut self,
1121 decl_name: &str,
1122 ile: &InitListExpr,
1123 size_arg: Option<(&str, &str, u32)>,
1124 ) -> Result<()> {
1125 let ty = ile.get_type().get_type_name();
1126 let ty = InitListType::new(&ty);
1127 let ins_pos = get_fuzzer_shim_end_loc(&self.src_file)?;
1128 match ty {
1129 InitListType::CharList(_, _) => {
1130 self.init_unlimit_fuzzable_list_var(decl_name, "char", ins_pos, size_arg)?;
1131 }
1132 InitListType::CharStarList(row, _col) => {
1133 self.init_fuzzable_list_var(decl_name, "str", (row, 0), ins_pos, true)?
1134 }
1135 InitListType::UCharList(_, _) => {
1136 self.init_unlimit_fuzzable_list_var(decl_name, "char", ins_pos, size_arg)?;
1137 }
1138 InitListType::UCharStarList(row, _col) => {
1139 self.init_fuzzable_list_var(decl_name, "str", (row, 0), ins_pos, true)?
1140 }
1141 InitListType::FloatList(_, _) => {
1142 self.init_unlimit_fuzzable_list_var(decl_name, "float", ins_pos, size_arg)?;
1143 }
1144 InitListType::FloatStarList(row, col) => {
1145 self.init_fuzzable_list_var(decl_name, "float", (row, col), ins_pos, true)?
1146 }
1147 InitListType::DoubleList(_, _) => {
1148 self.init_unlimit_fuzzable_list_var(decl_name, "double", ins_pos, size_arg)?;
1149 }
1150 InitListType::DoubleStarList(row, col) => {
1151 self.init_fuzzable_list_var(decl_name, "double", (row, col), ins_pos, true)?
1152 }
1153 InitListType::I8List(_, _) => {
1154 self.init_unlimit_fuzzable_list_var(decl_name, "int8_t", ins_pos, size_arg)?;
1155 }
1156 InitListType::I8StarList(row, col) => {
1157 self.init_fuzzable_list_var(decl_name, "int8_t", (row, col), ins_pos, true)?
1158 }
1159 InitListType::I16List(_, _) => {
1160 self.init_unlimit_fuzzable_list_var(decl_name, "int16_t", ins_pos, size_arg)?;
1161 }
1162 InitListType::I16StarList(row, col) => {
1163 self.init_fuzzable_list_var(decl_name, "int16_t", (row, col), ins_pos, true)?
1164 }
1165 InitListType::I32List(_, _) => {
1166 self.init_unlimit_fuzzable_list_var(decl_name, "int32_t", ins_pos, size_arg)?;
1167 }
1168 InitListType::I32StarList(row, col) => {
1169 self.init_fuzzable_list_var(decl_name, "int32_t", (row, col), ins_pos, true)?
1170 }
1171 InitListType::I64List(_, _) => {
1172 self.init_unlimit_fuzzable_list_var(decl_name, "int64_t", ins_pos, size_arg)?;
1173 }
1174 InitListType::I64StarList(row, col) => {
1175 self.init_fuzzable_list_var(decl_name, "int64_t", (row, col), ins_pos, true)?
1176 }

Callers 1

makeup_call_list_argMethod · 0.80

Calls 5

get_fuzzer_shim_end_locFunction · 0.85
get_type_nameMethod · 0.80
get_typeMethod · 0.80

Tested by

no test coverage detected