Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix crashes with cross site typed virtual arrays #3459

Merged

Conversation

sigatrev
Copy link
Contributor

@sigatrev sigatrev commented Jul 31, 2017

If an object has type CrossSiteObject<T> then VirtualTableInfo<T>::HasVirtualTable() will always return false. In the case of CrossSiteObject virtual typed arrays, the vtable check for the virtual array type was returning false, so they were assumed to be non-virtual arrays which is incorrect.

Since no action was performed for the CrossSiteObject arrays anyway, this commit adds specific checks for the non-cross site, non-virtual array types, and removes the redundant CrossSite checks.

@msftclas
Copy link

@sigatrev,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@rajatd
Copy link
Contributor

rajatd commented Jul 31, 2017

:shipit:

@chakrabot chakrabot merged commit 0d39ced into chakra-core:release/1.6 Aug 1, 2017
chakrabot pushed a commit that referenced this pull request Aug 1, 2017
Merge pull request #3459 from sigatrev:CrossSiteVirtualTypedArrays

If an object has type CrossSiteObject\<T> then VirtualTableInfo\<T>::HasVirtualTable() will always return false. In the case of CrossSiteObject virtual typed arrays, the vtable check for the virtual array type was returning false, so they were assumed to be non-virtual arrays which is incorrect.

Since no action was performed for the CrossSiteObject arrays anyway, this commit adds specific checks for the non-cross site, non-virtual array types, and removes the redundant CrossSite checks.
chakrabot pushed a commit that referenced this pull request Aug 1, 2017
…irtual arrays

Merge pull request #3459 from sigatrev:CrossSiteVirtualTypedArrays

If an object has type CrossSiteObject\<T> then VirtualTableInfo\<T>::HasVirtualTable() will always return false. In the case of CrossSiteObject virtual typed arrays, the vtable check for the virtual array type was returning false, so they were assumed to be non-virtual arrays which is incorrect.

Since no action was performed for the CrossSiteObject arrays anyway, this commit adds specific checks for the non-cross site, non-virtual array types, and removes the redundant CrossSite checks.
chakrabot pushed a commit that referenced this pull request Aug 1, 2017
… site typed virtual arrays

Merge pull request #3459 from sigatrev:CrossSiteVirtualTypedArrays

If an object has type CrossSiteObject\<T> then VirtualTableInfo\<T>::HasVirtualTable() will always return false. In the case of CrossSiteObject virtual typed arrays, the vtable check for the virtual array type was returning false, so they were assumed to be non-virtual arrays which is incorrect.

Since no action was performed for the CrossSiteObject arrays anyway, this commit adds specific checks for the non-cross site, non-virtual array types, and removes the redundant CrossSite checks.
@sigatrev sigatrev deleted the CrossSiteVirtualTypedArrays branch August 17, 2017 00:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants