Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CVE-2017-11797] Invalid memory read of out params on a bailout when …
…array destructuring is used as call arg Destructuring will create try/catch/finally bytecode when emitting. This pattern can appear as an arg to the call node. We were emitting Argouts as when emit a parameter, so it possible that we have try/catch/finally in between argouts. The Finally optimization did not like the fact that Argouts are seperated. In order to fix we use temps to store those argouts temporarily and then later those temps will be emitted as argouts. Since we are emitting lots of temps, this change is done when we determine that args contain destructuring (We took parser help for that).
- Loading branch information
1 parent
4e319aa
commit 9a3ad7c
Showing
4 changed files
with
172 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters