summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-11-25 13:47:07 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-11-25 13:47:07 +0000
commit28a60f6bee5ecbec21e4bb4ed74750c42e7f1975 (patch)
treebad3eaa9099e500a373e1560d0e228bce332b473 /roundcubemail/program/include
parent8a80c1b0c69d04d2b73e2b6543dd259ecd09f370 (diff)
- Prevent from memory_limit exceeding when trying to parse big messages bodies (#1487424):
don't try to parse it, display notice with a link to download it directly git-svn-id: https://svn.roundcube.net/trunk@5490 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
-rw-r--r--roundcubemail/program/include/main.inc15
1 files changed, 15 insertions, 0 deletions
diff --git a/roundcubemail/program/include/main.inc b/roundcubemail/program/include/main.inc
index 002501804..8a08125eb 100644
--- a/roundcubemail/program/include/main.inc
+++ b/roundcubemail/program/include/main.inc
@@ -1846,6 +1846,21 @@ function rcmail_user_date()
/**
+ * Check if we can process not exceeding memory_limit
+ *
+ * @param integer Required amount of memory
+ * @return boolean
+ */
+function rcmail_mem_check($need)
+{
+ $mem_limit = parse_bytes(ini_get('memory_limit'));
+ $memory = function_exists('memory_get_usage') ? memory_get_usage() : 16*1024*1024; // safe value: 16MB
+
+ return $mem_limit && $memory + $need > $mem_limit ? false : true;
+}
+
+
+/**
* Check if working in SSL mode
*
* @param integer HTTPS port number