LibJS: Handle getter exception in JSONObject::serialize_json_property()

In the case of an exception in a property getter function we would not
return early, and a subsequent attempt to call the replacer function
would crash the interpreter due to call_internal() asserting.

Fixes #3548.
This commit is contained in:
Linus Groh 2020-09-19 12:57:31 +01:00 committed by Andreas Kling
parent e1965a5a8e
commit c0e4353bde
Notes: sideshowbarker 2024-07-19 02:20:17 +09:00
2 changed files with 12 additions and 0 deletions

View file

@ -0,0 +1,10 @@
test("Issue #3548, exception in property getter with replacer function", () => {
const o = {
get foo() {
throw Error();
},
};
expect(() => {
JSON.stringify(o, (_, value) => value);
}).toThrow(Error);
});