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;

Reply via email to