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