Fix possible maximum call stack error

This commit is contained in:
Zaid Abdulla committed 2016-12-23 17:29:36 -08:00
1 parent 63407be19b
commit eb6d107b8d
1 file changed
+14 -11
+14 -11
View File
@@ -639,6 +639,20 @@ rpcRequest = (sessionData, _declarations, callback) ->
return rpcRequest(sessionData, null, callback)
)
if not sessionData.declarations[0].length
return callback()
if sessionData.rpcCount >= 255 or
sessionData.revisions.length >= 8 or
sessionData.iteration >= 128
fault = {
code: 'endless_cycle'
message: 'The provision seems to be repeating indefinitely'
timestmap: sessionData.timestamp
}
return callback(null, fault)
if (sessionData.syncState?.virtualParameterDeclarations?.length or 0) < sessionData.declarations.length
inception = sessionData.syncState?.virtualParameterDeclarations?.length or 0
vpd = runDeclarations(sessionData, sessionData.declarations[inception])
@@ -672,17 +686,6 @@ rpcRequest = (sessionData, _declarations, callback) ->
if not sessionData.syncState?
return callback()
if sessionData.rpcCount >= 255 or
sessionData.revisions.length >= 8 or
sessionData.iteration >= 64
fault = {
code: 'endless_cycle'
message: 'The provision seems to be repeating indefinitely'
timestmap: sessionData.timestamp
}
return callback(null, fault)
inception = sessionData.declarations.length - 1
provisions = generateGetVirtualParameterProvisions(sessionData, sessionData.syncState.virtualParameterDeclarations[inception])