Title: [140062] trunk/Source/WebCore
Revision
140062
Author
fpi...@apple.com
Date
2013-01-17 15:52:40 -0800 (Thu, 17 Jan 2013)

Log Message

ScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack to pop
https://bugs.webkit.org/show_bug.cgi?id=107186

Reviewed by Geoffrey Garen.

No new tests, because I'm not sure how to test this. I can repro it on a gnarly web site,
but I don't know how to create a reduced case that triggers it.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::didExecuteProgram):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (140061 => 140062)


--- trunk/Source/WebCore/ChangeLog	2013-01-17 23:49:13 UTC (rev 140061)
+++ trunk/Source/WebCore/ChangeLog	2013-01-17 23:52:40 UTC (rev 140062)
@@ -1,3 +1,16 @@
+2013-01-17  Filip Pizlo  <fpi...@apple.com>
+
+        ScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack to pop
+        https://bugs.webkit.org/show_bug.cgi?id=107186
+
+        Reviewed by Geoffrey Garen.
+
+        No new tests, because I'm not sure how to test this. I can repro it on a gnarly web site,
+        but I don't know how to create a reduced case that triggers it.
+
+        * bindings/js/ScriptDebugServer.cpp:
+        (WebCore::ScriptDebugServer::didExecuteProgram):
+
 2013-01-17  Michael Pruett  <mich...@68k.org>
 
         [GTK] IndexedDB: Add LevelDB headers to include path if IndexedDB is enabled

Modified: trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp (140061 => 140062)


--- trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp	2013-01-17 23:49:13 UTC (rev 140061)
+++ trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp	2013-01-17 23:52:40 UTC (rev 140062)
@@ -510,8 +510,13 @@
     updateCallFrameAndPauseIfNeeded(debuggerCallFrame, sourceID, lineNumber, columnNumber);
 
     // Treat stepping over the end of a program like stepping out.
-    if (m_currentCallFrame == m_pauseOnCallFrame)
+    if (!m_currentCallFrame)
+        return;
+    if (m_currentCallFrame == m_pauseOnCallFrame) {
         m_pauseOnCallFrame = m_currentCallFrame->caller();
+        if (!m_currentCallFrame)
+            return;
+    }
     m_currentCallFrame = m_currentCallFrame->caller();
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to