]> granicus.if.org Git - php/commitdiff
E_ERROR instead of E_WARNING on nullpointer exceptions
authorHarald Radi <phanto@php.net>
Wed, 9 May 2001 00:00:01 +0000 (00:00 +0000)
committerHarald Radi <phanto@php.net>
Wed, 9 May 2001 00:00:01 +0000 (00:00 +0000)
ext/com/COM.c
ext/rpc/com/com_wrapper.c

index 70906964ad8e56d5b6861b62b68697978c33094e..44b35fb4c7c15adc3152fd4a25fb15f7e903fe15 100644 (file)
@@ -131,13 +131,19 @@ PHPAPI HRESULT php_COM_set(i_dispatch *obj, IDispatch FAR* pDisp, int cleanup)
 {
        HRESULT hr;
 
-       obj->i.dispatch = pDisp;
-       obj->typelib = !FAILED(obj->i.dispatch->lpVtbl->GetTypeInfo(obj->i.dispatch, 0, LANG_NEUTRAL, &(obj->i.typeinfo)));
-
-       if(cleanup) {
-               pDisp = NULL;
-       } else {
-               hr = obj->i.dispatch->lpVtbl->AddRef(obj->i.dispatch);
+       if((obj->i.dispatch = pDisp) == NULL)
+       {
+               php_error(E_ERROR, "NULL pointer exception");
+       }
+       else
+       {
+               obj->typelib = !FAILED(obj->i.dispatch->lpVtbl->GetTypeInfo(obj->i.dispatch, 0, LANG_NEUTRAL, &(obj->i.typeinfo)));
+
+               if(cleanup) {
+                       pDisp = NULL;
+               } else {
+                       hr = obj->i.dispatch->lpVtbl->AddRef(obj->i.dispatch);
+               }
        }
 
        return hr;
index 70906964ad8e56d5b6861b62b68697978c33094e..44b35fb4c7c15adc3152fd4a25fb15f7e903fe15 100644 (file)
@@ -131,13 +131,19 @@ PHPAPI HRESULT php_COM_set(i_dispatch *obj, IDispatch FAR* pDisp, int cleanup)
 {
        HRESULT hr;
 
-       obj->i.dispatch = pDisp;
-       obj->typelib = !FAILED(obj->i.dispatch->lpVtbl->GetTypeInfo(obj->i.dispatch, 0, LANG_NEUTRAL, &(obj->i.typeinfo)));
-
-       if(cleanup) {
-               pDisp = NULL;
-       } else {
-               hr = obj->i.dispatch->lpVtbl->AddRef(obj->i.dispatch);
+       if((obj->i.dispatch = pDisp) == NULL)
+       {
+               php_error(E_ERROR, "NULL pointer exception");
+       }
+       else
+       {
+               obj->typelib = !FAILED(obj->i.dispatch->lpVtbl->GetTypeInfo(obj->i.dispatch, 0, LANG_NEUTRAL, &(obj->i.typeinfo)));
+
+               if(cleanup) {
+                       pDisp = NULL;
+               } else {
+                       hr = obj->i.dispatch->lpVtbl->AddRef(obj->i.dispatch);
+               }
        }
 
        return hr;