From fd801631b7eb60591a9b9ab26a0c62404c7e9262 Mon Sep 17 00:00:00 2001 From: Stefan Siegl Date: Sun, 23 Mar 2014 00:28:53 +0100 Subject: [PATCH] Add null-byte passing test, make var_dump null-byte safe, closes #80 --- tests/null_byte_string.phpt | Bin 0 -> 515 bytes v8js_methods.cc | 6 ++++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 tests/null_byte_string.phpt diff --git a/tests/null_byte_string.phpt b/tests/null_byte_string.phpt new file mode 100644 index 0000000000000000000000000000000000000000..308dd070ab6f3a2117819f39a7f8612335d4322b GIT binary patch literal 515 zcmbV}%T9za6hK|~D{hF%w2PuHG!qaehCm!OkpyDg5ri^SpEc*C2+bp%1T`DMV>XIZqo3A2oV4YMQl#Cu-ZTog0n!ooL@G5wA}=x{xM zRN#SN8{>4PFmX+=>N*qK<*5H%)0%YcN_K5f=Q8L@hR;rkWg6GH%*vtd@d)@A==cxL zXi5DyEpxe(_z$@cgZMJGO`Y8^vC=hhN4?+wv)?k+B4mc;d0u!MnbV9dypO|RT;H@F Vd_uswu)e+yEX0L2iM`+_WeaAron-(3 literal 0 HcmV?d00001 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()) {