mirror of
https://github.com/morluto/rea.git
synced 2026-11-06 14:56:32 +00:00
fix(javascript): require complete receiver ownership proofs
This commit is contained in:
1 parent
cc4f805541
commit
2496256cb7
5 files changed
+383
-311
No files matched your search
@@ -37,6 +37,8 @@ it.each([
|
||||
'const box = {}; box.value = { name: "Alice" }; inspect(box); new Map().get("/accounts")',
|
||||
'patch(() => ({ name: "Alice" })); new Map().get("/accounts")',
|
||||
'const box = {}; box.prototype = Map.prototype; new Map().get("/accounts")',
|
||||
'function expose() { const holder = { child: {} }; holder.child.prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'const box = flag ? {} : {}; box.prototype = Map.prototype; new Map().get("/accounts")',
|
||||
'const box = {}; const alias = box; alias.prototype = Map.prototype; inspect({}); new Map().get("/accounts")',
|
||||
'const box = {}; box.make = () => Map.prototype; new Map().get("/accounts")',
|
||||
'let box = {}; const first = box; box = {}; box.p = Map.prototype; patch(first); new Map().get("/accounts")',
|
||||
@@ -84,6 +86,15 @@ it.each([
|
||||
'const box = { set prototype(value) { patch(value); } }; box.prototype = Map.prototype; new Map().get("/accounts")',
|
||||
'const box = new ExternalBox(); box.prototype = Map.prototype; new Map().get("/accounts")',
|
||||
'function expose(box) { box.prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'function expose(box = {}) { box.prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'function expose(external, flag) { const box = flag ? {} : external; box.prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'function expose(external) { const holder = { child: external }; holder.child.prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'function expose(key) { const holder = { child: {} }; holder[key].prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'function expose(key) { const holder = [{}]; holder[key].prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'const box = flag ? {} : external(); box.prototype = Map.prototype; new Map().get("/accounts")',
|
||||
'function expose(external, flag) { const make = flag ? () => ({}) : external; const box = make(); box.prototype = Map.prototype; } new Map().get("/accounts")',
|
||||
'import external from "./external.mjs"; const box = flag ? {} : external; box.prototype = Map.prototype; new Map().get("/accounts")',
|
||||
'let box; if (flag) box = {}; box.prototype = Map.prototype; new Map().get("/accounts")',
|
||||
'const factory = { make() { return Map.prototype; } }; factory.make().get = fetch; new Map().get("/accounts")',
|
||||
'new Map().__proto__.get = fetch; new Map().get("/accounts")',
|
||||
'new Map().constructor.prototype.get = fetch; new Map().get("/accounts")',
|
||||
|
||||
Reference in new issue
Block a user