diff --git a/core/src/avm2/globals/Error.as b/core/src/avm2/globals/Error.as index ca2e93ec6..06dd2c456 100644 --- a/core/src/avm2/globals/Error.as +++ b/core/src/avm2/globals/Error.as @@ -23,7 +23,7 @@ package { prototype.toString = function():String { var self:Error = this; - return self.message.length == 0 ? self.name : self.name + ": " + self.message; + return self.message !== "" ? self.name + ": " + self.message : self.name; }; } } diff --git a/tests/tests/swfs/avm2/issue_14901/Test.as b/tests/tests/swfs/avm2/issue_14901/Test.as new file mode 100644 index 000000000..681dd0814 --- /dev/null +++ b/tests/tests/swfs/avm2/issue_14901/Test.as @@ -0,0 +1,8 @@ +package { +import flash.display.Sprite; + +public class Test extends Sprite {} +} + +var e = new Error(null); +trace(e.toString()); \ No newline at end of file diff --git a/tests/tests/swfs/avm2/issue_14901/output.txt b/tests/tests/swfs/avm2/issue_14901/output.txt new file mode 100644 index 000000000..a456c7e4c --- /dev/null +++ b/tests/tests/swfs/avm2/issue_14901/output.txt @@ -0,0 +1 @@ +Error: null diff --git a/tests/tests/swfs/avm2/issue_14901/test.swf b/tests/tests/swfs/avm2/issue_14901/test.swf new file mode 100644 index 000000000..87f6f2288 Binary files /dev/null and b/tests/tests/swfs/avm2/issue_14901/test.swf differ diff --git a/tests/tests/swfs/avm2/issue_14901/test.toml b/tests/tests/swfs/avm2/issue_14901/test.toml new file mode 100644 index 000000000..dbee897f5 --- /dev/null +++ b/tests/tests/swfs/avm2/issue_14901/test.toml @@ -0,0 +1 @@ +num_frames = 1