Jacek Caban : mshtml: Check if event_table entry is allocated before using it in remove_event_handler .

Alexandre Julliard julliard at winehq.org
Mon Jun 21 11:07:04 CDT 2010


Module: wine
Branch: master
Commit: 1eced6053d7d277029128b9e127edf2317e9ccbd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1eced6053d7d277029128b9e127edf2317e9ccbd

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sat Jun 19 22:25:32 2010 +0200

mshtml: Check if event_table entry is allocated before using it in remove_event_handler.

---

 dlls/mshtml/htmlevent.c    |    2 +-
 dlls/mshtml/tests/events.c |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 6925a0c..7cc2f39 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -1077,7 +1077,7 @@ static HRESULT ensure_nsevent_handler(HTMLDocumentNode *doc, event_target_t *eve
 
 static HRESULT remove_event_handler(event_target_t **event_target, eventid_t eid)
 {
-    if(*event_target && (*event_target)->event_table[eid]->handler_prop) {
+    if(*event_target && (*event_target)->event_table[eid] && (*event_target)->event_table[eid]->handler_prop) {
         IDispatch_Release((*event_target)->event_table[eid]->handler_prop);
         (*event_target)->event_table[eid]->handler_prop = NULL;
     }
diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c
index c9523de..deafd54 100644
--- a/dlls/mshtml/tests/events.c
+++ b/dlls/mshtml/tests/events.c
@@ -1172,6 +1172,10 @@ static void test_onclick(IHTMLDocument2 *doc)
     hres = IHTMLElement_put_onclick(div, v);
     ok(hres == S_OK, "put_onclick failed: %08x\n", hres);
 
+    V_VT(&v) = VT_NULL;
+    hres = IHTMLElement_put_ondblclick(div, v);
+    ok(hres == S_OK, "put_ondblclick failed: %08x\n", hres);
+
     V_VT(&v) = VT_EMPTY;
     hres = IHTMLElement_get_onclick(div, &v);
     ok(hres == S_OK, "get_onclick failed: %08x\n", hres);




More information about the wine-cvs mailing list