Reviewed by NOBODY (OOPS!).
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 1 Mar 2004 22:23:08 +0000 (22:23 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 1 Mar 2004 22:23:08 +0000 (22:23 +0000)
- fixed <rdar://problem/3567047>: REGRESSION: repro crash inside KJS (dispatchToBoolean) at www.thedonnas.com
- fixed <rdar://problem/3550461>: REGRESSION: repro crash in JavaScript at www.alaska.com

* khtml/ecma/kjs_window.cpp:
        (Window::getListener): Return Null() when the listener object is
null, indicating the code failed to parse. Otherwise we return a
bad value which can later crash the JS interpreter.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@6140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/ecma/kjs_window.cpp

index 6e14e38..47193a0 100644 (file)
@@ -1,3 +1,15 @@
+2004-03-01  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by NOBODY (OOPS!).
+
+       - fixed <rdar://problem/3567047>: REGRESSION: repro crash inside KJS (dispatchToBoolean) at www.thedonnas.com
+       - fixed <rdar://problem/3550461>: REGRESSION: repro crash in JavaScript at www.alaska.com
+        
+       * khtml/ecma/kjs_window.cpp:
+        (Window::getListener): Return Null() when the listener object is
+       null, indicating the code failed to parse. Otherwise we return a
+       bad value which can later crash the JS interpreter.
+
 2004-03-01  Darin Adler  <darin@apple.com>
 
         Reviewed by Vicki.
index dad8e88..b06bc3c 100644 (file)
@@ -1046,7 +1046,7 @@ Value Window::getListener(ExecState *exec, int eventId) const
     return Undefined();
 
   DOM::EventListener *listener = doc->getHTMLWindowEventListener(eventId);
-  if (listener)
+  if (listener && static_cast<JSEventListener*>(listener)->listenerObjImp())
     return static_cast<JSEventListener*>(listener)->listenerObj();
   else
     return Null();