예제 #1
0
 def runTest(self):
     config = ProgramConfiguration("test", "x86", "linux")
     
     crashInfo = ASanCrashInfo([], asanTraceHeapCrash.splitlines(), config)
     self.assertEqual(len(crashInfo.backtrace), 1)
     
     self.assertEqual(crashInfo.crashAddress, 0x00000019L)
     self.assertEqual(crashInfo.registers["pc"], 0xf718072eL)
     self.assertEqual(crashInfo.registers["sp"], 0xff87d130L)
     self.assertEqual(crashInfo.registers["bp"], 0x000006a1L)
     
     self.assertEqual(crashInfo.createShortSignature(), "[@ ??]")
예제 #2
0
    def runTest(self):
        config = ProgramConfiguration("test", "x86-64", "linux")

        crashInfo = ASanCrashInfo([], asanTraceUAF.splitlines(), config)
        self.assertEqual(len(crashInfo.backtrace), 23)
        self.assertEqual(crashInfo.backtrace[0], "void mozilla::PodCopy<char16_t>(char16_t*, char16_t const*, unsigned long)")
        self.assertEqual(crashInfo.backtrace[4], "JSFunction::native() const")
        
        self.assertEqual(crashInfo.crashAddress, 0x7fd766c42800L)
예제 #3
0
 def runTest(self):
     config = ProgramConfiguration("test", "x86", "linux")
     
     crashInfo = ASanCrashInfo([], asanTraceCrash.splitlines(), config)
     self.assertEqual(len(crashInfo.backtrace), 7)
     self.assertEqual(crashInfo.backtrace[0], "js::AbstractFramePtr::asRematerializedFrame() const")
     self.assertEqual(crashInfo.backtrace[2], "EvalInFrame(JSContext*, unsigned int, JS::Value*)")
     self.assertEqual(crashInfo.backtrace[6], "js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)")
     
     self.assertEqual(crashInfo.crashAddress, 0x00000014L)
     self.assertEqual(crashInfo.registers["pc"], 0x0810845fL)
     self.assertEqual(crashInfo.registers["sp"], 0xffc57860L)
     self.assertEqual(crashInfo.registers["bp"], 0xffc57f18L)
예제 #4
0
 def runTest(self):
     config = ProgramConfiguration("test", "x86", "linux")
     
     crashInfo = ASanCrashInfo([], asanTraceCrash.splitlines(), config)
     self.assertEqual(len(crashInfo.backtrace), 7)
     self.assertEqual(crashInfo.backtrace[0], "js::AbstractFramePtr::asRematerializedFrame")
     self.assertEqual(crashInfo.backtrace[2], "EvalInFrame")
     self.assertEqual(crashInfo.backtrace[3], "js::CallJSNative")
     self.assertEqual(crashInfo.backtrace[6], "js::jit::DoCallFallback")
     
     self.assertEqual(crashInfo.crashAddress, 0x00000014L)
     self.assertEqual(crashInfo.registers["pc"], 0x0810845fL)
     self.assertEqual(crashInfo.registers["sp"], 0xffc57860L)
     self.assertEqual(crashInfo.registers["bp"], 0xffc57f18L)