Module Name: src Committed By: joerg Date: Sat May 3 23:19:56 UTC 2014
Modified Files: src/sys/lib/libunwind: DwarfParser.hpp Log Message: Missing register validation check. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/lib/libunwind/DwarfParser.hpp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/lib/libunwind/DwarfParser.hpp diff -u src/sys/lib/libunwind/DwarfParser.hpp:1.4 src/sys/lib/libunwind/DwarfParser.hpp:1.5 --- src/sys/lib/libunwind/DwarfParser.hpp:1.4 Sat Apr 26 23:17:38 2014 +++ src/sys/lib/libunwind/DwarfParser.hpp Sat May 3 23:19:56 2014 @@ -461,6 +461,8 @@ CFI_Parser<A, R>::parseInstructions(A &a reg = R::dwarf2regno(addressSpace.getULEB128(p, instructionsEnd)); offset = addressSpace.getULEB128(p, instructionsEnd) * cieInfo.dataAlignFactor; + if (reg > kMaxRegisterNumber) + return false; results->savedRegisters[reg].location = kRegisterOffsetFromCFA; results->savedRegisters[reg].value = offset; break;