Marcus Meissner : jscript: Check for This->ctx and This->site earlier ( Coverity).

Alexandre Julliard julliard at winehq.org
Wed Oct 15 10:08:47 CDT 2008


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

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Tue Oct 14 09:59:33 2008 +0200

jscript: Check for This->ctx and This->site earlier (Coverity).

---

 dlls/jscript/jscript.c |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/dlls/jscript/jscript.c b/dlls/jscript/jscript.c
index 41fb40f..081f468 100644
--- a/dlls/jscript/jscript.c
+++ b/dlls/jscript/jscript.c
@@ -306,23 +306,24 @@ static HRESULT WINAPI JScript_Close(IActiveScript *iface)
 
     clear_script_queue(This);
 
-    if(This->ctx->named_items) {
-        named_item_t *iter, *iter2;
+    if(This->ctx) {
+        if(This->ctx->named_items) {
+            named_item_t *iter, *iter2;
 
-        iter = This->ctx->named_items;
-        while(iter) {
-            iter2 = iter->next;
+            iter = This->ctx->named_items;
+            while(iter) {
+                iter2 = iter->next;
 
-            IDispatch_Release(iter->disp);
-            heap_free(iter);
-            iter = iter2;
-        }
+                IDispatch_Release(iter->disp);
+                heap_free(iter);
+                iter = iter2;
+            }
 
-        This->ctx->named_items = NULL;
-    }
+            This->ctx->named_items = NULL;
+        }
 
-    if(This->ctx) {
-        change_state(This, SCRIPTSTATE_CLOSED);
+        if (This->site)
+            change_state(This, SCRIPTSTATE_CLOSED);
 
         if(This->ctx->script_disp) {
             IDispatchEx_Release(_IDispatchEx_(This->ctx->script_disp));




More information about the wine-cvs mailing list