diff options
| author | Anatol Belski <ab@php.net> | 2014-11-18 13:13:23 +0100 |
|---|---|---|
| committer | Anatol Belski <ab@php.net> | 2014-11-18 13:19:52 +0100 |
| commit | 075fc1ff1a37a096438e7cbffe7f8e4cca98c111 (patch) | |
| tree | 878751b34933f050c707b901b08a5155fd15b908 | |
| parent | f8f86a44ef108e7fcd7e8bc810e7c8ee3dd684a2 (diff) | |
| download | php-git-075fc1ff1a37a096438e7cbffe7f8e4cca98c111.tar.gz | |
fix some datatype mismatches
| -rw-r--r-- | ext/wddx/php_wddx_api.h | 2 | ||||
| -rw-r--r-- | ext/wddx/wddx.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/ext/wddx/php_wddx_api.h b/ext/wddx/php_wddx_api.h index 5c47109ee3..edbd013342 100644 --- a/ext/wddx/php_wddx_api.h +++ b/ext/wddx/php_wddx_api.h @@ -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 */ diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 705babd885..43deb15afd 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -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); |
