diff options
Diffstat (limited to 'ext/hyperwave/hw.c')
| -rw-r--r-- | ext/hyperwave/hw.c | 17 | 
1 files changed, 7 insertions, 10 deletions
| diff --git a/ext/hyperwave/hw.c b/ext/hyperwave/hw.c index 89a70e9be3..5fce6aca67 100644 --- a/ext/hyperwave/hw.c +++ b/ext/hyperwave/hw.c @@ -2863,14 +2863,8 @@ PHP_FUNCTION(hw_new_document)  PHP_FUNCTION(hw_new_document_from_file)  {  	pval **arg1, **arg2; -	int len, type;  	char *ptr; -	int issock=0; -	int socketd=0; -	FILE *fp;  	php_stream *stream; -	int ready=0; -	int bcount=0;  	int use_include_path=0;  	hw_document *doc; @@ -2895,13 +2889,16 @@ PHP_FUNCTION(hw_new_document_from_file)  	doc->size = php_stream_copy_to_mem(stream, &doc->data, PHP_STREAM_COPY_ALL, 1);  	php_stream_close(stream); -	 -	doc->data = realloc(doc->data, bcount+1); + +	/* I'm not sure if it is necessary to add a '\0'. It depends on whether +	 * PHP-Strings has to be null terminated. doc->size doesn't count the +	 * '\0'. +	 */ +	doc->data = realloc(doc->data, doc->size+1);  	ptr = doc->data; -	ptr[bcount] = '\0'; +	ptr[doc->size] = '\0';  	doc->attributes = strdup(Z_STRVAL_PP(arg1));  	doc->bodytag = NULL; -	doc->size = bcount;  	Z_LVAL_P(return_value) = zend_list_insert(doc, le_document);  	Z_TYPE_P(return_value) = IS_LONG;  } | 
