Skip to content

Commit 563a873

Browse files
committed
ext/soap: Use zend_string for name parameter of set_soap_fault()
1 parent 28c335c commit 563a873

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

ext/soap/soap.c

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ static void function_to_string(sdlFunctionPtr function, smart_str *buf);
4949
static void type_to_string(sdlTypePtr type, smart_str *buf, int level);
5050

5151
static void clear_soap_fault(zval *obj);
52-
static void set_soap_fault(zval *obj, const char *fault_code_ns, const char *fault_code, const char *fault_string, const char *fault_actor, zval *fault_detail, const char *name);
52+
static void set_soap_fault(zval *obj, const char *fault_code_ns, const char *fault_code, const char *fault_string, const char *fault_actor, zval *fault_detail, zend_string *name);
5353
static void add_soap_fault_ex(zval *fault, zval *obj, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail);
54-
static ZEND_NORETURN void soap_server_fault(char* code, char* string, char *actor, zval* details, char *name);
54+
static ZEND_NORETURN void soap_server_fault(char* code, char* string, char *actor, zval* details, zend_string *name);
5555
static void soap_server_fault_ex(sdlFunctionPtr function, zval* fault, soapHeader* hdr);
5656

5757
static sdlParamPtr get_param(sdlFunctionPtr function, const char *param_name, zend_ulong index, int);
@@ -650,8 +650,9 @@ static void soap_fault_dtor_properties(zval *obj)
650650
/* {{{ SoapFault constructor */
651651
PHP_METHOD(SoapFault, __construct)
652652
{
653-
char *fault_string = NULL, *fault_code = NULL, *fault_actor = NULL, *name = NULL, *fault_code_ns = NULL;
654-
size_t fault_string_len, fault_actor_len = 0, name_len = 0, fault_code_len = 0;
653+
char *fault_string = NULL, *fault_code = NULL, *fault_actor = NULL, *fault_code_ns = NULL;
654+
size_t fault_string_len, fault_actor_len = 0, fault_code_len = 0;
655+
zend_string *name = NULL;
655656
zval *details = NULL, *headerfault = NULL, *this_ptr;
656657
zend_string *code_str;
657658
HashTable *code_ht;
@@ -662,7 +663,7 @@ PHP_METHOD(SoapFault, __construct)
662663
Z_PARAM_OPTIONAL
663664
Z_PARAM_STRING_OR_NULL(fault_actor, fault_actor_len)
664665
Z_PARAM_ZVAL_OR_NULL(details)
665-
Z_PARAM_STRING_OR_NULL(name, name_len)
666+
Z_PARAM_STR_OR_NULL(name)
666667
Z_PARAM_ZVAL_OR_NULL(headerfault)
667668
ZEND_PARSE_PARAMETERS_END();
668669

@@ -687,7 +688,7 @@ PHP_METHOD(SoapFault, __construct)
687688
RETURN_THROWS();
688689
}
689690

690-
if (name != NULL && name_len == 0) {
691+
if (name != NULL && ZSTR_LEN(name) == 0) {
691692
name = NULL;
692693
}
693694

@@ -1685,15 +1686,16 @@ PHP_METHOD(SoapServer, handle)
16851686
/* {{{ Issue SoapFault indicating an error */
16861687
PHP_METHOD(SoapServer, fault)
16871688
{
1688-
char *code, *string, *actor=NULL, *name=NULL;
1689-
size_t code_len, string_len, actor_len = 0, name_len = 0;
1689+
char *code, *string, *actor=NULL;
1690+
size_t code_len, string_len, actor_len = 0;
16901691
zval* details = NULL;
1692+
zend_string *name = NULL;
16911693
soapServicePtr service;
16921694
xmlCharEncodingHandlerPtr old_encoding;
16931695

1694-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|szs",
1696+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|szS",
16951697
&code, &code_len, &string, &string_len, &actor, &actor_len, &details,
1696-
&name, &name_len) == FAILURE) {
1698+
&name) == FAILURE) {
16971699
RETURN_THROWS();
16981700
}
16991701

@@ -1788,7 +1790,7 @@ static void soap_server_fault_ex(sdlFunctionPtr function, zval* fault, soapHeade
17881790
}
17891791
/* }}} */
17901792

1791-
static ZEND_NORETURN void soap_server_fault(char* code, char* string, char *actor, zval* details, char* name) /* {{{ */
1793+
static ZEND_NORETURN void soap_server_fault(char* code, char* string, char *actor, zval* details, zend_string* name) /* {{{ */
17921794
{
17931795
zval ret;
17941796

@@ -2890,7 +2892,7 @@ void add_soap_fault(zval *obj, char *fault_code, char *fault_string, char *fault
28902892
}
28912893
/* }}} */
28922894

2893-
static void set_soap_fault(zval *obj, const char *fault_code_ns, const char *fault_code, const char *fault_string, const char *fault_actor, zval *fault_detail, const char *name) /* {{{ */
2895+
static void set_soap_fault(zval *obj, const char *fault_code_ns, const char *fault_code, const char *fault_string, const char *fault_actor, zval *fault_detail, zend_string *name) /* {{{ */
28942896
{
28952897
if (Z_TYPE_P(obj) != IS_OBJECT) {
28962898
object_init_ex(obj, soap_fault_class_entry);
@@ -2939,7 +2941,7 @@ static void set_soap_fault(zval *obj, const char *fault_code_ns, const char *fau
29392941
ZVAL_COPY(Z_FAULT_DETAIL_P(obj), fault_detail);
29402942
}
29412943
if (name != NULL) {
2942-
ZVAL_STRING(Z_FAULT_NAME_P(obj), name);
2944+
ZVAL_STR_COPY(Z_FAULT_NAME_P(obj), name);
29432945
}
29442946
}
29452947
/* }}} */

0 commit comments

Comments
 (0)