فهرست منبع

Add null-byte passing test, make var_dump null-byte safe, closes #80

Stefan Siegl 11 سال پیش
والد
کامیت
fd801631b7
2فایلهای تغییر یافته به همراه4 افزوده شده و 2 حذف شده
  1. BIN
      tests/null_byte_string.phpt
  2. 4 2
      v8js_methods.cc

BIN
tests/null_byte_string.phpt


+ 4 - 2
v8js_methods.cc

@@ -100,11 +100,13 @@ static void _php_v8js_dumper(v8::Isolate *isolate, v8::Local<v8::Value> 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())
 	{