diff --git a/tests/null_byte_string.phpt b/tests/null_byte_string.phpt new file mode 100644 index 0000000..308dd07 Binary files /dev/null and b/tests/null_byte_string.phpt differ diff --git a/v8js_methods.cc b/v8js_methods.cc index d223d0a..cdb5883 100644 --- a/v8js_methods.cc +++ b/v8js_methods.cc @@ -100,11 +100,13 @@ static void _php_v8js_dumper(v8::Isolate *isolate, v8::Local var, int } v8::String::Utf8Value str(details); const char *valstr = ToCString(str); - size_t valstr_len = (valstr) ? strlen(valstr) : 0; + size_t valstr_len = details->ToString()->Utf8Length(); if (var->IsString()) { - php_printf("string(%zu) \"%s\"\n", valstr_len, valstr); + php_printf("string(%zu) \"", valstr_len, valstr); + php_output_write(valstr, valstr_len TSRMLS_CC); + php_printf("\"\n"); } else if (var->IsDate()) {