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

Method fuse_fuzzer

src/program/libfuzzer.rs:226–247  ·  view source on GitHub ↗
(
        &self,
        fuzzer_content: String,
        fuzzer_id: usize,
        drivers: &[PathBuf],
        driver_id: &[usize],
    )

Source from the content-addressed store, hash-verified

224 }
225
226 fn fuse_fuzzer(
227 &self,
228 fuzzer_content: String,
229 fuzzer_id: usize,
230 drivers: &[PathBuf],
231 driver_id: &[usize],
232 ) -> Result<()> {
233 let fuzzer_dir = self.get_fuzzer_dir(fuzzer_id)?;
234 crate::deopt::utils::create_dir_if_nonexist(&fuzzer_dir)?;
235 // write the condensed fuzzer
236 let fuzzer_path: PathBuf = [fuzzer_dir.clone(), "fuzzer.cc".into()].iter().collect();
237 std::fs::write(fuzzer_path, fuzzer_content)?;
238
239 for (id, driver) in drivers.iter().enumerate() {
240 // write each unit driver with new driver id.
241 let dst_driver: PathBuf = [fuzzer_dir.clone(), driver.file_name().unwrap().into()]
242 .iter()
243 .collect();
244 self.change_driver_id(driver, &dst_driver, driver_id[id])?;
245 }
246 Ok(())
247 }
248
249 fn get_fuzzer_dir(&self, fuzzer_id: usize) -> Result<PathBuf> {
250 let fuzzer_dir: PathBuf = [

Callers 1

synthesisMethod · 0.80

Calls 3

create_dir_if_nonexistFunction · 0.85
get_fuzzer_dirMethod · 0.80
change_driver_idMethod · 0.80

Tested by

no test coverage detected