cvs: php-src /ext/com_dotnet com_wrapper.c

From: Date: Tue, 27 Jul 2004 03:44:40 +0000
Subject: cvs: php-src /ext/com_dotnet com_wrapper.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-28018@lists.php.net to get a copy of this message
wez Mon Jul 26 23:44:40 2004 EDT Modified files: /php-src/ext/com_dotnet com_wrapper.c Log: protect caller from a potential bailout http://cvs.php.net/diff.php/php-src/ext/com_dotnet/com_wrapper.c?r1=1.4&r2=1.5&ty=u Index: php-src/ext/com_dotnet/com_wrapper.c diff -u php-src/ext/com_dotnet/com_wrapper.c:1.4 php-src/ext/com_dotnet/com_wrapper.c:1.5 --- php-src/ext/com_dotnet/com_wrapper.c:1.4 Mon May 3 11:51:41 2004 +++ php-src/ext/com_dotnet/com_wrapper.c Mon Jul 26 23:44:40 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: com_wrapper.c,v 1.4 2004/05/03 15:51:41 wez Exp $ */ +/* $Id: com_wrapper.c,v 1.5 2004/07/27 03:44:40 wez Exp $ */ /* This module exports a PHP object as a COM object by wrapping it * using IDispatchEx */ @@ -296,12 +296,16 @@ } else if (wFlags & DISPATCH_PROPERTYPUT) { zend_update_property(Z_OBJCE_P(disp->object), disp->object, Z_STRVAL_PP(name), Z_STRLEN_PP(name)+1, *params[0] TSRMLS_CC); } else if (wFlags & DISPATCH_METHOD) { - if (SUCCESS == call_user_function_ex(EG(function_table), &disp->object, *name, - &retval, pdp->cArgs, params, 1, NULL TSRMLS_CC)) { - ret = S_OK; - } else { + zend_try { + if (SUCCESS == call_user_function_ex(EG(function_table), &disp->object, *name, + &retval, pdp->cArgs, params, 1, NULL TSRMLS_CC)) { + ret = S_OK; + } else { + ret = DISP_E_EXCEPTION; + } + } zend_catch { ret = DISP_E_EXCEPTION; - } + } zend_end_try(); } else { trace("Don't know how to handle this invocation %08x\n", wFlags); }

« previous php.cvs (#28018) next »