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

Method seek_and_rewrite

src/program/transform.rs:302–316  ·  view source on GitHub ↗
(&self, pos: usize, len: usize, str: &str)

Source from the content-addressed store, hash-verified

300 }
301
302 pub fn seek_and_rewrite(&self, pos: usize, len: usize, str: &str) -> Result<()> {
303 let mut f = std::fs::OpenOptions::new()
304 .write(true)
305 .read(true)
306 .open(&self.src_file)?;
307 f.seek(std::io::SeekFrom::Start((pos + len) as u64))?;
308 let mut buf = Vec::new();
309 f.read_to_end(&mut buf)?;
310 let mut str = str.as_bytes().to_vec();
311 str.extend(buf);
312 f.set_len((pos + str.len()) as u64)?;
313 f.seek(std::io::SeekFrom::Start(pos as u64))?;
314 f.write_all(&str)?;
315 Ok(())
316 }
317
318 pub fn get_new_visitor(&mut self) -> Result<Visitor> {
319 let ast = self.update_ast()?;

Callers 14

handle_set_jumpMethod · 0.80
handle_nested_callMethod · 0.80
change_fd_nameMethod · 0.80
change_fd_paramsMethod · 0.80
change_call_argMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected