Skip to content

Commit 5a5b1bb

Browse files
committed
fix: update bitflags dependency and fix flippy warnings
1 parent 239766a commit 5a5b1bb

File tree

3 files changed

+28
-23
lines changed

3 files changed

+28
-23
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ exclude = [
3131
path = "bindings/rust/src/lib.rs"
3232

3333
[dependencies]
34-
bitflags = "1.3"
34+
bitflags = "2.3.3"
3535
libc = "0.2"
3636

3737
[build-dependencies]

bindings/rust/src/lib.rs

+2
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ impl<'a> Unicorn<'a, ()> {
167167
impl<'a> TryFrom<uc_handle> for Unicorn<'a, ()> {
168168
type Error = uc_error;
169169

170+
#[allow(clippy::not_unsafe_ptr_arg_deref)]
170171
fn try_from(handle: uc_handle) -> Result<Unicorn<'a, ()>, uc_error> {
171172
if handle.is_null() {
172173
return Err(uc_error::HANDLE);
@@ -914,6 +915,7 @@ impl<'a, D> Unicorn<'a, D> {
914915
/// Remove a hook.
915916
///
916917
/// `hook` is the value returned by `add_*_hook` functions.
918+
#[allow(clippy::not_unsafe_ptr_arg_deref)]
917919
pub fn remove_hook(&mut self, hook: ffi::uc_hook) -> Result<(), uc_error> {
918920
// drop the hook
919921
let inner = self.inner_mut();

bindings/rust/src/unicorn_const.rs

+25-22
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ pub enum TlbType {
6262

6363
bitflags! {
6464
#[repr(C)]
65+
#[derive(Copy, Clone)]
6566
pub struct HookType: i32 {
6667
const INTR = 1;
6768
const INSN = 2;
@@ -71,28 +72,28 @@ bitflags! {
7172
const MEM_READ_UNMAPPED = 0x10;
7273
const MEM_WRITE_UNMAPPED = 0x20;
7374
const MEM_FETCH_UNMAPPED = 0x40;
74-
const MEM_UNMAPPED = Self::MEM_READ_UNMAPPED.bits | Self::MEM_WRITE_UNMAPPED.bits | Self::MEM_FETCH_UNMAPPED.bits;
75+
const MEM_UNMAPPED = Self::MEM_READ_UNMAPPED.bits() | Self::MEM_WRITE_UNMAPPED.bits() | Self::MEM_FETCH_UNMAPPED.bits();
7576

7677
const MEM_READ_PROT = 0x80;
7778
const MEM_WRITE_PROT = 0x100;
7879
const MEM_FETCH_PROT = 0x200;
79-
const MEM_PROT = Self::MEM_READ_PROT.bits | Self::MEM_WRITE_PROT.bits | Self::MEM_FETCH_PROT.bits;
80+
const MEM_PROT = Self::MEM_READ_PROT.bits() | Self::MEM_WRITE_PROT.bits() | Self::MEM_FETCH_PROT.bits();
8081

8182
const MEM_READ = 0x400;
8283
const MEM_WRITE = 0x800;
8384
const MEM_FETCH = 0x1000;
84-
const MEM_VALID = Self::MEM_READ.bits | Self::MEM_WRITE.bits | Self::MEM_FETCH.bits;
85+
const MEM_VALID = Self::MEM_READ.bits() | Self::MEM_WRITE.bits() | Self::MEM_FETCH.bits();
8586

8687
const MEM_READ_AFTER = 0x2000;
8788

8889
const INSN_INVALID = 0x4000;
8990

90-
const MEM_READ_INVALID = Self::MEM_READ_UNMAPPED.bits | Self::MEM_READ_PROT.bits;
91-
const MEM_WRITE_INVALID = Self::MEM_WRITE_UNMAPPED.bits | Self::MEM_WRITE_PROT.bits;
92-
const MEM_FETCH_INVALID = Self::MEM_FETCH_UNMAPPED.bits | Self::MEM_FETCH_PROT.bits;
93-
const MEM_INVALID = Self::MEM_READ_INVALID.bits | Self::MEM_WRITE_INVALID.bits | Self::MEM_FETCH_INVALID.bits;
91+
const MEM_READ_INVALID = Self::MEM_READ_UNMAPPED.bits() | Self::MEM_READ_PROT.bits();
92+
const MEM_WRITE_INVALID = Self::MEM_WRITE_UNMAPPED.bits() | Self::MEM_WRITE_PROT.bits();
93+
const MEM_FETCH_INVALID = Self::MEM_FETCH_UNMAPPED.bits() | Self::MEM_FETCH_PROT.bits();
94+
const MEM_INVALID = Self::MEM_READ_INVALID.bits() | Self::MEM_WRITE_INVALID.bits() | Self::MEM_FETCH_INVALID.bits();
9495

95-
const MEM_ALL = Self::MEM_VALID.bits | Self::MEM_INVALID.bits;
96+
const MEM_ALL = Self::MEM_VALID.bits() | Self::MEM_INVALID.bits();
9697

9798
const TLB = (1 << 17);
9899
}
@@ -110,12 +111,13 @@ pub enum Query {
110111

111112
bitflags! {
112113
#[repr(C)]
114+
#[derive(Copy, Clone, Debug)]
113115
pub struct Permission : u32 {
114116
const NONE = 0;
115117
const READ = 1;
116118
const WRITE = 2;
117119
const EXEC = 4;
118-
const ALL = Self::READ.bits | Self::WRITE.bits | Self::EXEC.bits;
120+
const ALL = Self::READ.bits() | Self::WRITE.bits() | Self::EXEC.bits();
119121
}
120122
}
121123

@@ -178,22 +180,22 @@ bitflags! {
178180
const ARM926 = 0x80;
179181
const ARM946 = 0x100;
180182
const ARM1176 = 0x200;
181-
const MICRO = Self::THUMB.bits;
182-
const MIPS3 = Self::MCLASS.bits;
183-
const MIPS32R6 = Self::V8.bits;
183+
const MICRO = Self::THUMB.bits();
184+
const MIPS3 = Self::MCLASS.bits();
185+
const MIPS32R6 = Self::V8.bits();
184186
const MIPS32 = 4;
185187
const MIPS64 = 8;
186188
const MODE_16 = 2;
187-
const MODE_32 = Self::MIPS32.bits;
188-
const MODE_64 = Self::MIPS64.bits;
189-
const PPC32 = Self::MIPS32.bits;
190-
const PPC64 = Self::MIPS64.bits;
191-
const QPX = Self::THUMB.bits;
192-
const SPARC32 = Self::MIPS32.bits;
193-
const SPARC64 = Self::MIPS64.bits;
194-
const V9 = Self::THUMB.bits;
195-
const RISCV32 = Self::MIPS32.bits;
196-
const RISCV64 = Self::MIPS64.bits;
189+
const MODE_32 = Self::MIPS32.bits();
190+
const MODE_64 = Self::MIPS64.bits();
191+
const PPC32 = Self::MIPS32.bits();
192+
const PPC64 = Self::MIPS64.bits();
193+
const QPX = Self::THUMB.bits();
194+
const SPARC32 = Self::MIPS32.bits();
195+
const SPARC64 = Self::MIPS64.bits();
196+
const V9 = Self::THUMB.bits();
197+
const RISCV32 = Self::MIPS32.bits();
198+
const RISCV64 = Self::MIPS64.bits();
197199
}
198200
}
199201

@@ -224,6 +226,7 @@ macro_rules! UC_CTL_READ_WRITE {
224226
}
225227

226228
#[allow(clippy::upper_case_acronyms)]
229+
#[repr(u64)]
227230
pub enum ControlType {
228231
UC_CTL_UC_MODE = 0,
229232
UC_CTL_UC_PAGE_SIZE = 1,

0 commit comments

Comments
 (0)