]> granicus.if.org Git - php/commitdiff
fix some datatype mismatches
authorAnatol Belski <ab@php.net>
Tue, 18 Nov 2014 12:13:23 +0000 (13:13 +0100)
committerAnatol Belski <ab@php.net>
Tue, 18 Nov 2014 12:19:52 +0000 (13:19 +0100)
ext/wddx/php_wddx_api.h
ext/wddx/wddx.c

index 5c47109ee3ca9d21f144b6de3a7d4cfb164a486e..edbd013342e2523c5bcbeb795dd45e90dbc0cb20 100644 (file)
@@ -61,7 +61,7 @@ void           php_wddx_packet_start(wddx_packet *packet, char *comment, size_t comment
 void            php_wddx_packet_end(wddx_packet *packet);
 
 void            php_wddx_serialize_var(wddx_packet *packet, zval *var, zend_string *name TSRMLS_DC);
-int             php_wddx_deserialize_ex(char *, int, zval *return_value);
+int             php_wddx_deserialize_ex(const char *, size_t, zval *return_value);
 #define php_wddx_gather(packet) estrndup(packet->c, packet->len)
 
 #endif /* PHP_WDDX_API_H */
index 705babd8858c310046e4e4c4345c55e3158ea625..43deb15afdcf7a8fc19037115408547aff18e693 100644 (file)
@@ -1046,7 +1046,7 @@ static void php_wddx_process_data(void *user_data, const XML_Char *s, int len)
 
 /* {{{ php_wddx_deserialize_ex
  */
-int php_wddx_deserialize_ex(char *value, int vallen, zval *return_value)
+int php_wddx_deserialize_ex(const char *value, size_t vallen, zval *return_value)
 {
        wddx_stack stack;
        XML_Parser parser;
@@ -1060,7 +1060,8 @@ int php_wddx_deserialize_ex(char *value, int vallen, zval *return_value)
        XML_SetElementHandler(parser, php_wddx_push_element, php_wddx_pop_element);
        XML_SetCharacterDataHandler(parser, php_wddx_process_data);
        
-       XML_Parse(parser, value, vallen, 1);
+       /* XXX value should be parsed in the loop to exhaust size_t */
+       XML_Parse(parser, value, (int)vallen, 1);
        
        XML_ParserFree(parser);