Skip to content

Commit 75b37c3

Browse files
authored
[DWARF] Fix arity of DW_OP_bra (#114136)
Found by my proof-of-concept DWARF expression evaluator fuzzer.
1 parent 0f8dbb2 commit 75b37c3

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

lldb/unittests/Expression/DWARFExpressionTest.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@ TEST(DWARFExpression, DW_OP_bra) {
181181
}),
182182
// clang-format on
183183
llvm::HasValue(0x42));
184+
185+
EXPECT_THAT_ERROR(Evaluate({DW_OP_bra, 0x01, 0x00}).takeError(),
186+
llvm::Failed());
184187
}
185188

186189
TEST(DWARFExpression, DW_OP_convert) {

llvm/include/llvm/BinaryFormat/Dwarf.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -728,7 +728,7 @@ HANDLE_DW_OP(0x24, shl, 0, 2, 2, DWARF)
728728
HANDLE_DW_OP(0x25, shr, 0, 2, 2, DWARF)
729729
HANDLE_DW_OP(0x26, shra, 0, 2, 2, DWARF)
730730
HANDLE_DW_OP(0x27, xor, 0, 2, 2, DWARF)
731-
HANDLE_DW_OP(0x28, bra, 1, 0, 2, DWARF)
731+
HANDLE_DW_OP(0x28, bra, 1, 1, 2, DWARF)
732732
HANDLE_DW_OP(0x29, eq, 0, 2, 2, DWARF)
733733
HANDLE_DW_OP(0x2a, ge, 0, 2, 2, DWARF)
734734
HANDLE_DW_OP(0x2b, gt, 0, 2, 2, DWARF)

0 commit comments

Comments
 (0)