You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This change contains combined fixes for CVE-2016-3350, CVE-2016-3377 and a defense in depth change in the CustomHeap
Arguments symbol is uninitialized when a function definition with the name arguments occur in the body in non-split scope
When a function definition with the name arguments occurs in the body it
makrs the function as arguments creation is not needed. The arguments is
initialized only at the beginning of the body. So when arguments is used
in the param scope it will be unitialized. Also if arguments symbol is
captured in the param scope we should split the scope as it can be
overwritten in the body.
CustomHeap - FreeAllocation - Bug fix
Premise
- The allocations under interest are the jit page allocations made by the CustomHeap.
- When all bits in page's free bit vector are set, FreeAllocation API in CustomHeap behaves incorrectly - It will set a page's protection to RWX and returns.
Fix
- Refactored FreeAllocation API in CustomHeap - Merged two separate if conditions to a single if condition.
- Added entry condition checks to fail fast.
- Removed virtual keyword in a function and cached freebitVector count
- Adding more release time checks
- Added TestAnyInRange API
[MSRC34310]Array.prototype.map() type confusion
Type confusion when DirectSetItemAt() accesses a native int array return by a
user-defined [@@species] constructor. Fix by replacing with a virtual SetItem() call.
// after freeing part of the page, the page should be in PAGE_EXECUTE_READWRITE protection, and turning to PAGE_EXECUTE (always with TARGETS_NO_UPDATE state)
else// after freeing part of the page, the page should be in PAGE_EXECUTE_READWRITE protection, and turning to PAGE_EXECUTE (always with TARGETS_NO_UPDATE state)
Copy file name to clipboardExpand all lines: test/es6/ES6Species-bugs.js
+35Lines changed: 35 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,41 @@ var tests = [
27
27
assert.throws(function(){Array.prototype.splice.call(arr,0,3);},TypeError,"TypeError when constructor[Symbol.species] is not constructor","Function 'constructor[Symbol.species]' is not a constructor");
0 commit comments