diff options
author | 5225225 <5225225@mailbox.org> | 2021-12-19 20:34:52 +0000 |
---|---|---|
committer | iximeow <git@iximeow.net> | 2022-01-02 14:40:07 -0800 |
commit | dd1e281c85cb047c6a4a05a4af0314e064cba088 (patch) | |
tree | f902946a28927a3d26c82229782306e2efa6308d /src/real_mode/display.rs | |
parent | 8dda53be56b3ddd17ed72de6a6d2262a2ba82625 (diff) |
Wrap unsafe functions to catch errors in debug
Closes https://github.com/iximeow/yaxpeax-x86/issues/16
Diffstat (limited to 'src/real_mode/display.rs')
-rw-r--r-- | src/real_mode/display.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/real_mode/display.rs b/src/real_mode/display.rs index 258f5d9..0ae0a46 100644 --- a/src/real_mode/display.rs +++ b/src/real_mode/display.rs @@ -3,6 +3,7 @@ use core::fmt; use yaxpeax_arch::{Colorize, ShowContextual, NoColors, YaxColors}; use yaxpeax_arch::display::*; +use crate::safer_unchecked::GetSaferUnchecked as _; use crate::MEM_SIZE_STRINGS; use crate::real_mode::{RegSpec, Opcode, Operand, MergeMode, InstDecoder, Instruction, Segment, PrefixVex, OperandSpec}; @@ -123,7 +124,7 @@ const REG_NAMES: &[&'static str] = &[ ]; pub(crate) fn regspec_label(spec: &RegSpec) -> &'static str { - unsafe { REG_NAMES.get_unchecked((spec.num as u16 + ((spec.bank as u16) << 3)) as usize) } + unsafe { REG_NAMES.get_kinda_unchecked((spec.num as u16 + ((spec.bank as u16) << 3)) as usize) } } impl fmt::Display for RegSpec { @@ -1811,7 +1812,7 @@ const MNEMONICS: &[&'static str] = &[ impl Opcode { fn name(&self) -> &'static str { unsafe { - MNEMONICS.get_unchecked(*self as usize) + MNEMONICS.get_kinda_unchecked(*self as usize) } } } |