From ce168c286ac0ebd8c38a659880f85d270c697b69 Mon Sep 17 00:00:00 2001 From: Vincent Petry <pvince81@owncloud.com> Date: Thu, 12 Jun 2014 18:41:19 +0200 Subject: [PATCH] Added max heartbeat interval to prevent integer overflow When using big session timeout values, the interval value might overflow and cause the setInterval() call to ping the server in a loop without any delay. This fix adds a maximum ping interval of 24 hours. Forward port of 00ec5fc1935c946e846a8ff28491e5b5b017b3d7 from stable6. --- core/js/js.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/js/js.js b/core/js/js.js index 1d5219eff12..a8dd9ca889d 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -968,6 +968,8 @@ function initCore() { * time out */ function initSessionHeartBeat(){ + // max interval in seconds set to 24 hours + var maxInterval = 24 * 3600; // interval in seconds var interval = 900; if (oc_config.session_lifetime) { @@ -977,6 +979,9 @@ function initCore() { if (interval < 60) { interval = 60; } + if (interval > maxInterval) { + interval = maxInterval; + } var url = OC.generateUrl('/heartbeat'); setInterval(function(){ $.post(url); -- GitLab