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