We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent ef516aa commit bbeca89Copy full SHA for bbeca89
library/std/src/sys/personality/dwarf/eh.rs
@@ -83,8 +83,14 @@ pub unsafe fn find_eh_action(lsda: *const u8, context: &EHContext<'_>) -> Result
83
let call_site_encoding = unsafe {
84
let ttype_encoding = reader.read::<u8>();
85
if ttype_encoding != DW_EH_PE_omit {
86
- // Rust doesn't analyze exception types, so we don't care about the type table
87
- reader.read_uleb128();
+ // discard the offset to the type table, we aren't interested
+ if ttype_encoding & 0x0F != DW_EH_PE_uleb128 {
88
+ rtabort!(
89
+ "ttype encoding assumed to not vary based on architecture! found: {:02X}",
90
+ ttype_encoding & 0xF
91
+ );
92
+ }
93
+ let _ = reader.read_uleb128();
94
}
95
96
reader.read::<u8>()
0 commit comments