From 075fc1ff1a37a096438e7cbffe7f8e4cca98c111 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 18 Nov 2014 13:13:23 +0100 Subject: [PATCH] fix some datatype mismatches --- ext/wddx/php_wddx_api.h | 2 +- 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); -- 2.40.0