Skip to content

Commit 1748791

Browse files
committed
Fix incorrect immutable borrow for EnumerationBuilder
1 parent 567988a commit 1748791

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed

plugins/dwarf/dwarf_import/src/die_handlers.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ pub(crate) fn handle_enum<R: ReaderType>(
104104
// DW_AT_const_value
105105
// *DW_AT_description
106106

107-
let enumeration_builder = EnumerationBuilder::new();
107+
let mut enumeration_builder = EnumerationBuilder::new();
108108

109109
let mut tree = unit.entries_tree(Some(entry.offset())).unwrap();
110110
let mut children = tree.root().unwrap().children();

plugins/idb_import/src/types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
462462
}
463463

464464
fn translate_enum(members: &[(Option<Vec<u8>>, u64)], bytesize: u64) -> Ref<Type> {
465-
let eb = EnumerationBuilder::new();
465+
let mut eb = EnumerationBuilder::new();
466466
for (i, (name, bytesize)) in members.iter().enumerate() {
467467
let name = name
468468
.as_ref()

plugins/pdb-ng/src/type_parser.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1626,7 +1626,7 @@ impl<'a, S: Source<'a> + 'a> PDBParserInstance<'a, S> {
16261626
)))));
16271627
}
16281628

1629-
let enumeration = EnumerationBuilder::new();
1629+
let mut enumeration = EnumerationBuilder::new();
16301630

16311631
match self.handle_type_index(data.fields, finder)? {
16321632
Some(ParsedType::FieldList(fields)) => {

plugins/warp/src/convert.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ pub fn to_bn_type<A: BNArchitecture>(arch: &A, ty: &Type) -> BNRef<BNType> {
470470
BNType::structure(&builder.finalize())
471471
}
472472
TypeClass::Enumeration(c) => {
473-
let builder = BNEnumerationBuilder::new();
473+
let mut builder = BNEnumerationBuilder::new();
474474
for member in &c.members {
475475
// TODO: Add default name?
476476
let member_name = member.name.to_owned().unwrap_or("enum_VAL".into());

rust/src/types.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,31 +1217,31 @@ impl EnumerationBuilder {
12171217
unsafe { Enumeration::ref_from_raw(BNFinalizeEnumerationBuilder(self.handle)) }
12181218
}
12191219

1220-
pub fn append<S: BnStrCompatible>(&self, name: S) -> &Self {
1220+
pub fn append<S: BnStrCompatible>(&mut self, name: S) -> &Self {
12211221
let name = name.into_bytes_with_nul();
12221222
unsafe {
12231223
BNAddEnumerationBuilderMember(self.handle, name.as_ref().as_ptr() as _);
12241224
}
12251225
self
12261226
}
12271227

1228-
pub fn insert<S: BnStrCompatible>(&self, name: S, value: u64) -> &Self {
1228+
pub fn insert<S: BnStrCompatible>(&mut self, name: S, value: u64) -> &Self {
12291229
let name = name.into_bytes_with_nul();
12301230
unsafe {
12311231
BNAddEnumerationBuilderMemberWithValue(self.handle, name.as_ref().as_ptr() as _, value);
12321232
}
12331233
self
12341234
}
12351235

1236-
pub fn replace<S: BnStrCompatible>(&self, id: usize, name: S, value: u64) -> &Self {
1236+
pub fn replace<S: BnStrCompatible>(&mut self, id: usize, name: S, value: u64) -> &Self {
12371237
let name = name.into_bytes_with_nul();
12381238
unsafe {
12391239
BNReplaceEnumerationBuilderMember(self.handle, id, name.as_ref().as_ptr() as _, value);
12401240
}
12411241
self
12421242
}
12431243

1244-
pub fn remove(&self, id: usize) -> &Self {
1244+
pub fn remove(&mut self, id: usize) -> &Self {
12451245
unsafe {
12461246
BNRemoveEnumerationBuilderMember(self.handle, id);
12471247
}

0 commit comments

Comments
 (0)