diff options
author | Andreas Kling <kling@serenityos.org> | 2022-12-14 12:10:40 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-12-14 15:11:57 +0100 |
commit | 42b5c896e86b0d77d62ecae0ec78802aaff285a1 (patch) | |
tree | 9f48119e0ce6e1a3556597c9f96af0e212d74a3f /Userland/Libraries/LibJS/AST.cpp | |
parent | 3ea1584f2eafc9988bade98cb605ff72c7bcf3e1 (diff) | |
download | serenity-42b5c896e86b0d77d62ecae0ec78802aaff285a1.zip |
LibJS: Don't "copy construct" temporary value in ThrowCompletionOr ctor
It was possible for the generic ThrowCompletionOr constructor to
"copy-construct" a JS Object when instantiating a ThrowCompletionOr
via e.g `return *object;`.
This happened because it chose the Object(Object& prototype) constructor
which will be removed in a subsequent commit. It was not easy to debug.
As a first step towards avoiding this in the future, the generic
ThrowCompletionOr constructor now takes the value as a const reference.
Diffstat (limited to 'Userland/Libraries/LibJS/AST.cpp')
0 files changed, 0 insertions, 0 deletions