diff --git a/src/kits/debugger/dwarf/DwarfFile.cpp b/src/kits/debugger/dwarf/DwarfFile.cpp index 186104c8a7..5ccac82b3d 100644 --- a/src/kits/debugger/dwarf/DwarfFile.cpp +++ b/src/kits/debugger/dwarf/DwarfFile.cpp @@ -1779,6 +1779,12 @@ DwarfFile::_ParseLineInfo(CompilationUnit* unit) // version (uhalf) uint16 version = dataReader.Read(0); + if (version != 2 && version != 3) { + WARNING("DwarfFile::_ParseLineInfo(\"%s\"): unsupported " + "version %d\n", fName, version); + return B_UNSUPPORTED; + } + // header_length (4/8) uint64 headerLength = dwarf64 ? dataReader.Read(0) : (uint64)dataReader.Read(0); @@ -1809,9 +1815,6 @@ DwarfFile::_ParseLineInfo(CompilationUnit* unit) if (dataReader.HasOverflow()) return B_BAD_DATA; - if (version != 2 && version != 3) - return B_UNSUPPORTED; - TRACE_LINES(" unitLength: %" B_PRIu64 "\n", unitLength); TRACE_LINES(" version: %u\n", version); TRACE_LINES(" headerLength: %" B_PRIu64 "\n", headerLength);