Skip to content

Commit e8c6c6f

Browse files
committed
Fix signedness issues in soap.c
1 parent ca7a0df commit e8c6c6f

File tree

3 files changed

+26
-24
lines changed

3 files changed

+26
-24
lines changed

ext/soap/php_sdl.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,13 @@ encodePtr get_encoder(sdlPtr sdl, const char *ns, const char *type)
174174
return enc;
175175
}
176176

177-
encodePtr get_encoder_ex(sdlPtr sdl, const char *nscat, int len)
177+
encodePtr get_encoder_ex(sdlPtr sdl, const char *nscat, size_t len)
178178
{
179179
encodePtr enc;
180180

181-
if ((enc = zend_hash_str_find_ptr(&SOAP_GLOBAL(defEnc), (char*)nscat, len)) != NULL) {
181+
if ((enc = zend_hash_str_find_ptr(&SOAP_GLOBAL(defEnc), nscat, len)) != NULL) {
182182
return enc;
183-
} else if (sdl && sdl->encoders && (enc = zend_hash_str_find_ptr(sdl->encoders, (char*)nscat, len)) != NULL) {
183+
} else if (sdl && sdl->encoders && (enc = zend_hash_str_find_ptr(sdl->encoders, nscat, len)) != NULL) {
184184
return enc;
185185
}
186186
return NULL;

ext/soap/php_sdl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ sdlPtr get_sdl(zval *this_ptr, char *uri, zend_long cache_wsdl);
255255

256256
encodePtr get_encoder_from_prefix(sdlPtr sdl, xmlNodePtr data, const xmlChar *type);
257257
encodePtr get_encoder(sdlPtr sdl, const char *ns, const char *type);
258-
encodePtr get_encoder_ex(sdlPtr sdl, const char *nscat, int len);
258+
encodePtr get_encoder_ex(sdlPtr sdl, const char *nscat, size_t len);
259259

260260
sdlBindingPtr get_binding_from_type(sdlPtr sdl, sdlBindingType type);
261261
sdlBindingPtr get_binding_from_name(sdlPtr sdl, char *name, char *ns);

ext/soap/soap.c

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ typedef struct _soapHeader {
3737
sdlFunctionPtr function;
3838
zval function_name;
3939
int mustUnderstand;
40-
int num_params;
40+
uint32_t num_params;
4141
zval *parameters;
4242
zval retval;
4343
sdlSoapBindingFunctionHeaderPtr hdr;
@@ -54,14 +54,14 @@ static void add_soap_fault_ex(zval *fault, zval *obj, char *fault_code, char *fa
5454
static ZEND_NORETURN void soap_server_fault(char* code, char* string, char *actor, zval* details, char *name);
5555
static void soap_server_fault_ex(sdlFunctionPtr function, zval* fault, soapHeader* hdr);
5656

57-
static sdlParamPtr get_param(sdlFunctionPtr function, const char *param_name, int index, int);
57+
static sdlParamPtr get_param(sdlFunctionPtr function, const char *param_name, zend_ulong index, int);
5858
static sdlFunctionPtr get_function(sdlPtr sdl, const char *function_name);
5959
static sdlFunctionPtr get_doc_function(sdlPtr sdl, xmlNodePtr params);
6060

61-
static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, const char* actor, zval *function_name, int *num_params, zval **parameters, int *version, soapHeader **headers);
61+
static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, const char* actor, zval *function_name, uint32_t *num_params, zval **parameters, int *version, soapHeader **headers);
6262
static xmlDocPtr serialize_response_call(sdlFunctionPtr function, const char *function_name, const char *uri,zval *ret, soapHeader *headers, int version);
63-
static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function, const char *function_name, const char *uri, zval *arguments, int arg_count, int version, HashTable *soap_headers);
64-
static xmlNodePtr serialize_parameter(sdlParamPtr param,zval *param_val, int index,const char *name, int style, xmlNodePtr parent);
63+
static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function, const char *function_name, const char *uri, zval *arguments, uint32_t arg_count, int version, HashTable *soap_headers);
64+
static xmlNodePtr serialize_parameter(sdlParamPtr param,zval *param_val, uint32_t index,const char *name, int style, xmlNodePtr parent);
6565
static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, const char *paramName, int style, xmlNodePtr parent);
6666

6767
static void delete_service(soapServicePtr service);
@@ -1244,7 +1244,8 @@ PHP_METHOD(SoapServer, handle)
12441244
xmlDocPtr doc_request = NULL, doc_return = NULL;
12451245
zval function_name, *params, *soap_obj, retval;
12461246
char cont_len[30];
1247-
int num_params = 0, size, i, call_status = 0;
1247+
uint32_t num_params = 0;
1248+
int size, i, call_status = 0;
12481249
xmlChar *buf;
12491250
HashTable *function_table;
12501251
soapHeader *soap_headers = NULL;
@@ -1653,7 +1654,7 @@ PHP_METHOD(SoapServer, handle)
16531654
zval_ptr_dtor(&retval);
16541655
while (soap_headers != NULL) {
16551656
soapHeader *h = soap_headers;
1656-
int i;
1657+
uint32_t i;
16571658

16581659
soap_headers = soap_headers->next;
16591660
if (h->parameters) {
@@ -2238,7 +2239,7 @@ static void do_soap_call(zend_execute_data *execute_data,
22382239
zval* this_ptr,
22392240
char* function,
22402241
size_t function_len,
2241-
int arg_count,
2242+
uint32_t arg_count,
22422243
zval* real_args,
22432244
zval* return_value,
22442245
char* location,
@@ -2480,7 +2481,7 @@ void soap_client_call_impl(INTERNAL_FUNCTION_PARAMETERS, bool is_soap_call)
24802481
zval *args;
24812482
zval *real_args = NULL;
24822483
zval *param;
2483-
int arg_count;
2484+
uint32_t arg_count;
24842485
zval *tmp;
24852486
bool free_soap_headers = 0;
24862487
zval *this_ptr;
@@ -2904,9 +2905,9 @@ static void set_soap_fault(zval *obj, const char *fault_code_ns, const char *fau
29042905
}
29052906
/* }}} */
29062907

2907-
static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, int *num_params, zval **parameters) /* {{{ */
2908+
static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, uint32_t *num_params, zval **parameters) /* {{{ */
29082909
{
2909-
int cur_param = 0,num_of_params = 0;
2910+
uint32_t cur_param = 0,num_of_params = 0;
29102911
zval *tmp_parameters = NULL;
29112912

29122913
if (function != NULL) {
@@ -3047,7 +3048,7 @@ static xmlNodePtr get_envelope(xmlNodePtr trav, int *version, char **envelope_ns
30473048
return NULL;
30483049
}
30493050

3050-
static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, const char* actor, zval *function_name, int *num_params, zval **parameters, int *version, soapHeader **headers) /* {{{ */
3051+
static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, const char* actor, zval *function_name, uint32_t *num_params, zval **parameters, int *version, soapHeader **headers) /* {{{ */
30513052
{
30523053
char* envelope_ns = NULL;
30533054
xmlNodePtr trav,env,head,body,func;
@@ -3329,7 +3330,7 @@ static int serialize_response_call2(xmlNodePtr body, sdlFunctionPtr function, co
33293330
{
33303331
xmlNodePtr method = NULL, param;
33313332
sdlParamPtr parameter = NULL;
3332-
int param_count;
3333+
uint32_t param_count;
33333334
int style, use;
33343335
xmlNsPtr ns = NULL;
33353336

@@ -3800,13 +3801,14 @@ static xmlDocPtr serialize_response_call(sdlFunctionPtr function, const char *fu
38003801
}
38013802
/* }}} */
38023803

3803-
static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function, const char *function_name, const char *uri, zval *arguments, int arg_count, int version, HashTable *soap_headers) /* {{{ */
3804+
static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function, const char *function_name, const char *uri, zval *arguments, uint32_t arg_count, int version, HashTable *soap_headers) /* {{{ */
38043805
{
38053806
xmlDoc *doc;
38063807
xmlNodePtr envelope = NULL, body, method = NULL, head = NULL;
38073808
xmlNsPtr ns = NULL;
38083809
zval *zstyle, *zuse;
3809-
int i, style, use;
3810+
uint32_t i;
3811+
int style, use;
38103812
HashTable *hdrs = NULL;
38113813

38123814
encode_reset_ns();
@@ -3902,7 +3904,7 @@ static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function
39023904
}
39033905

39043906
if (function && function->requestParameters) {
3905-
int n = zend_hash_num_elements(function->requestParameters);
3907+
uint32_t n = zend_hash_num_elements(function->requestParameters);
39063908

39073909
if (n > arg_count) {
39083910
for (i = arg_count; i < n; i++) {
@@ -4000,7 +4002,7 @@ static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function
40004002
}
40014003
/* }}} */
40024004

4003-
static xmlNodePtr serialize_parameter(sdlParamPtr param, zval *param_val, int index, const char *name, int style, xmlNodePtr parent) /* {{{ */
4005+
static xmlNodePtr serialize_parameter(sdlParamPtr param, zval *param_val, uint32_t index, const char *name, int style, xmlNodePtr parent) /* {{{ */
40044006
{
40054007
const char *paramName;
40064008
xmlNodePtr xmlParam;
@@ -4065,7 +4067,7 @@ static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, const char *param
40654067
}
40664068
/* }}} */
40674069

4068-
static sdlParamPtr get_param(sdlFunctionPtr function, const char *param_name, int index, int response) /* {{{ */
4070+
static sdlParamPtr get_param(sdlFunctionPtr function, const char *param_name, zend_ulong index, int response) /* {{{ */
40694071
{
40704072
sdlParamPtr tmp;
40714073
HashTable *ht;
@@ -4107,7 +4109,7 @@ static sdlFunctionPtr get_function(sdlPtr sdl, const char *function_name) /* {{{
41074109
{
41084110
sdlFunctionPtr tmp;
41094111

4110-
int len = strlen(function_name);
4112+
size_t len = strlen(function_name);
41114113
char *str = estrndup(function_name,len);
41124114
zend_str_tolower(str,len);
41134115
if (sdl != NULL) {
@@ -4339,7 +4341,7 @@ static void type_to_string(sdlTypePtr type, smart_str *buf, int level) /* {{{ */
43394341
attr->extraAttributes &&
43404342
(ext = zend_hash_str_find_ptr(attr->extraAttributes, WSDL_NAMESPACE":arrayType", sizeof(WSDL_NAMESPACE":arrayType")-1)) != NULL) {
43414343
char *end = strchr(ext->val, '[');
4342-
int len;
4344+
size_t len;
43434345
if (end == NULL) {
43444346
len = strlen(ext->val);
43454347
} else {

0 commit comments

Comments
 (0)