diff --git a/bipc/src/lib.rs b/bipc/src/lib.rs index ad17d40..4d0f8fa 100644 --- a/bipc/src/lib.rs +++ b/bipc/src/lib.rs @@ -61,7 +61,10 @@ pub fn run(path: &str, outfile: &str) -> Result<()> { bp::Writer::new() .parse_tree(&node_tree) - .map_err(Error::BpError)? + .or_else(|e| { + std::fs::remove_file(outfile).map_err(Error::BadWrite)?; + Err(Error::BpError(e)) + })? .write_to(&mut out) .map_err(Error::BadWrite) }