summaryrefslogtreecommitdiff
path: root/rust/tests
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-02-06 23:58:33 -0500
committerMason Reed <mason@vector35.com>2025-02-06 23:58:33 -0500
commitf9bd8eb2a8aa8b492d4145624d12e7014c7ee65c (patch)
tree2d9fa45c718eab1bb373a290eddfa7e38d806faa /rust/tests
parent3fd8d8123d52330dc1fae22371c4b4298f709eba (diff)
Fix BinaryReader and BinaryWriter not respecting image base in Rust API
Diffstat (limited to 'rust/tests')
-rw-r--r--rust/tests/binary_reader.rs5
-rw-r--r--rust/tests/binary_writer.rs4
2 files changed, 6 insertions, 3 deletions
diff --git a/rust/tests/binary_reader.rs b/rust/tests/binary_reader.rs
index 88017052..592025e0 100644
--- a/rust/tests/binary_reader.rs
+++ b/rust/tests/binary_reader.rs
@@ -1,5 +1,5 @@
use binaryninja::binary_reader::BinaryReader;
-use binaryninja::binary_view::BinaryViewBase;
+use binaryninja::binary_view::{BinaryViewBase, BinaryViewExt};
use binaryninja::headless::Session;
use rstest::*;
use std::io::{Read, Seek, SeekFrom};
@@ -55,6 +55,9 @@ fn test_binary_reader_read(_session: &Session) {
let view = binaryninja::load(out_dir.join("atox.obj")).expect("Failed to create view");
let mut reader = BinaryReader::new(&view);
+ // We want to do seeks with the image base.
+ reader.set_virtual_base(view.original_image_base());
+
reader
.seek(SeekFrom::Start(0))
.expect("Failed to seek to start");
diff --git a/rust/tests/binary_writer.rs b/rust/tests/binary_writer.rs
index bc9c2165..632d0e64 100644
--- a/rust/tests/binary_writer.rs
+++ b/rust/tests/binary_writer.rs
@@ -1,5 +1,5 @@
use binaryninja::binary_reader::BinaryReader;
-use binaryninja::binary_view::BinaryViewBase;
+use binaryninja::binary_view::{BinaryViewBase, BinaryViewExt};
use binaryninja::binary_writer::BinaryWriter;
use binaryninja::headless::Session;
use rstest::*;
@@ -17,7 +17,7 @@ fn test_binary_writer_seek(_session: &Session) {
let out_dir = env!("OUT_DIR").parse::<PathBuf>().unwrap();
let view = binaryninja::load(out_dir.join("atox.obj")).expect("Failed to create view");
let mut writer = BinaryWriter::new(&view);
- let end_offset = view.len();
+ let end_offset = view.original_image_base() + view.len();
// Test seeking to a specific position
writer