summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-01-25 20:10:36 -0500
committerMason Reed <mason@vector35.com>2025-01-25 20:10:36 -0500
commit174879116fd1ed6805137949e763223acd79784c (patch)
treeb390d86e7454a711d0a2ee0f2538d9af35b3f5d1
parent567988ad3cd7da3fac9298e24f733b61d37c1e13 (diff)
Fix incorrect immutable borrow for EnumerationBuilder
-rw-r--r--plugins/dwarf/dwarf_import/src/die_handlers.rs2
-rw-r--r--plugins/idb_import/src/types.rs2
-rw-r--r--plugins/pdb-ng/src/type_parser.rs2
-rw-r--r--plugins/warp/src/convert.rs2
-rw-r--r--rust/src/types.rs8
5 files changed, 8 insertions, 8 deletions
diff --git a/plugins/dwarf/dwarf_import/src/die_handlers.rs b/plugins/dwarf/dwarf_import/src/die_handlers.rs
index a2db2fb3..d09645ae 100644
--- a/plugins/dwarf/dwarf_import/src/die_handlers.rs
+++ b/plugins/dwarf/dwarf_import/src/die_handlers.rs
@@ -104,7 +104,7 @@ pub(crate) fn handle_enum<R: ReaderType>(
// DW_AT_const_value
// *DW_AT_description
- let enumeration_builder = EnumerationBuilder::new();
+ let mut enumeration_builder = EnumerationBuilder::new();
let mut tree = unit.entries_tree(Some(entry.offset())).unwrap();
let mut children = tree.root().unwrap().children();
diff --git a/plugins/idb_import/src/types.rs b/plugins/idb_import/src/types.rs
index 0a704241..1552049f 100644
--- a/plugins/idb_import/src/types.rs
+++ b/plugins/idb_import/src/types.rs
@@ -462,7 +462,7 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
}
fn translate_enum(members: &[(Option<Vec<u8>>, u64)], bytesize: u64) -> Ref<Type> {
- let eb = EnumerationBuilder::new();
+ let mut eb = EnumerationBuilder::new();
for (i, (name, bytesize)) in members.iter().enumerate() {
let name = name
.as_ref()
diff --git a/plugins/pdb-ng/src/type_parser.rs b/plugins/pdb-ng/src/type_parser.rs
index e7f4b06d..1c32bb56 100644
--- a/plugins/pdb-ng/src/type_parser.rs
+++ b/plugins/pdb-ng/src/type_parser.rs
@@ -1626,7 +1626,7 @@ impl<'a, S: Source<'a> + 'a> PDBParserInstance<'a, S> {
)))));
}
- let enumeration = EnumerationBuilder::new();
+ let mut enumeration = EnumerationBuilder::new();
match self.handle_type_index(data.fields, finder)? {
Some(ParsedType::FieldList(fields)) => {
diff --git a/plugins/warp/src/convert.rs b/plugins/warp/src/convert.rs
index acf9aabc..01ba167c 100644
--- a/plugins/warp/src/convert.rs
+++ b/plugins/warp/src/convert.rs
@@ -470,7 +470,7 @@ pub fn to_bn_type<A: BNArchitecture>(arch: &A, ty: &Type) -> BNRef<BNType> {
BNType::structure(&builder.finalize())
}
TypeClass::Enumeration(c) => {
- let builder = BNEnumerationBuilder::new();
+ let mut builder = BNEnumerationBuilder::new();
for member in &c.members {
// TODO: Add default name?
let member_name = member.name.to_owned().unwrap_or("enum_VAL".into());
diff --git a/rust/src/types.rs b/rust/src/types.rs
index bd184b18..701fc85a 100644
--- a/rust/src/types.rs
+++ b/rust/src/types.rs
@@ -1217,7 +1217,7 @@ impl EnumerationBuilder {
unsafe { Enumeration::ref_from_raw(BNFinalizeEnumerationBuilder(self.handle)) }
}
- pub fn append<S: BnStrCompatible>(&self, name: S) -> &Self {
+ pub fn append<S: BnStrCompatible>(&mut self, name: S) -> &Self {
let name = name.into_bytes_with_nul();
unsafe {
BNAddEnumerationBuilderMember(self.handle, name.as_ref().as_ptr() as _);
@@ -1225,7 +1225,7 @@ impl EnumerationBuilder {
self
}
- pub fn insert<S: BnStrCompatible>(&self, name: S, value: u64) -> &Self {
+ pub fn insert<S: BnStrCompatible>(&mut self, name: S, value: u64) -> &Self {
let name = name.into_bytes_with_nul();
unsafe {
BNAddEnumerationBuilderMemberWithValue(self.handle, name.as_ref().as_ptr() as _, value);
@@ -1233,7 +1233,7 @@ impl EnumerationBuilder {
self
}
- pub fn replace<S: BnStrCompatible>(&self, id: usize, name: S, value: u64) -> &Self {
+ pub fn replace<S: BnStrCompatible>(&mut self, id: usize, name: S, value: u64) -> &Self {
let name = name.into_bytes_with_nul();
unsafe {
BNReplaceEnumerationBuilderMember(self.handle, id, name.as_ref().as_ptr() as _, value);
@@ -1241,7 +1241,7 @@ impl EnumerationBuilder {
self
}
- pub fn remove(&self, id: usize) -> &Self {
+ pub fn remove(&mut self, id: usize) -> &Self {
unsafe {
BNRemoveEnumerationBuilderMember(self.handle, id);
}