Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[1.8>1.9] [MERGE #4626 @boingoing] OS#14115684: Cached scope is not i…
…nvalidated when eval code leaks a function from the cached scope Merge pull request #4626 from boingoing:InvalidateCachedScope We detect property loads from an ActivationObject for which the property is a function stored in the cached scope. If we load one of those functions, we must mark the parent function as having a function escape and invalidate the cached scope. Right now we aren't doing this correctly due to a math error. We keep track of the indices of both the first and last functions in the activation object slots but the last slot index is always less than the first slot index. Because of this, when we load a property from the activation object it can never invalidate the cached scope even if it is an escaping function. Fix seems to be to correct the math to compute the slot indices in `JavascriptOperators::OP_InitCachedScope`. Fixes: https://microsoft.visualstudio.com/web/wi.aspx?id=14115684
- Loading branch information