mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
Guard against missing members in setObjectMembers
This commit is contained in:
@@ -95,6 +95,8 @@ const wrapArgs = function (args, visited) {
|
||||
// The |ref| will be kept referenced by |members|.
|
||||
// This matches |getObjectMemebers| in rpc-server.
|
||||
const setObjectMembers = function (ref, object, metaId, members) {
|
||||
if (!Array.isArray(members)) return
|
||||
|
||||
for (let member of members) {
|
||||
if (object.hasOwnProperty(member.name)) continue
|
||||
|
||||
@@ -161,9 +163,7 @@ const proxyFunctionProperties = function (remoteMemberFunction, metaId, name) {
|
||||
if (loaded) return
|
||||
loaded = true
|
||||
const meta = ipcRenderer.sendSync('ELECTRON_BROWSER_MEMBER_GET', metaId, name)
|
||||
if (Array.isArray(meta.members)) {
|
||||
setObjectMembers(remoteMemberFunction, remoteMemberFunction, meta.id, meta.members)
|
||||
}
|
||||
setObjectMembers(remoteMemberFunction, remoteMemberFunction, meta.id, meta.members)
|
||||
}
|
||||
|
||||
return new Proxy(remoteMemberFunction, {
|
||||
|
||||
Reference in New Issue
Block a user