diff --git a/src/pe/export.rs b/src/pe/export.rs index b47056172..a5f0ea50b 100644 --- a/src/pe/export.rs +++ b/src/pe/export.rs @@ -259,7 +259,7 @@ impl<'a> Reexport<'a> { /// An exported symbol in this binary, contains synthetic data (name offset, etc., are computed) pub struct Export<'a> { pub name: Option<&'a str>, - pub offset: usize, + pub offset: Option, pub rva: usize, pub size: usize, pub reexport: Option>, @@ -301,16 +301,7 @@ impl<'a, 'b> scroll::ctx::TryFromCtx<'a, ExportCtx<'b>> for Export<'a> { match *rva { ExportRVA(rva) => { let rva = rva as usize; - let offset = utils::find_offset_or( - rva, - sections, - file_alignment, - &opts, - &format!( - "cannot map RVA ({:#x}) of export ordinal {} into offset", - rva, ordinal - ), - )?; + let offset = utils::find_offset(rva, sections, file_alignment, &opts); Ok(( Export { name, @@ -339,7 +330,7 @@ impl<'a, 'b> scroll::ctx::TryFromCtx<'a, ExportCtx<'b>> for Export<'a> { Ok(( Export { name, - offset, + offset: Some(offset), rva, reexport: Some(reexport), size: 0,