When the string containing null character is passed to WebDialog.set_html() the page is loaded up to this characted.
Here is the test case:
NASTY_STRING = "asd\000dsa"
UI.menu("Plugins").add_item("test set_html") do
dlg = UI;;WebDialog.new("test set_html", true);
dlg.set_html(NASTY_STRING)
dlg.show() # only "asd" is displayed
end
UI.menu("Plugins").add_item("test set_file") do
dlg = UI;;WebDialog.new("test set_file", true);
temp_file = ENV['TEMP'] + "\\test_set_file.html"
File.open(temp_file, "wb") do |file|
file.write(NASTY_STRING)
end
dlg.set_file(temp_file) # only "asddsa" is displayed
dlg.show()
end
I understand this is pretty nasty edge case, but still can produce mind boggling results/surprises.