From e0960f6365b4b0af314d955847b9422067c83eb2 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 25 Nov 2011 08:47:07 -0500
Subject: [PATCH] - 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

---
 program/include/main.inc |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 0025018..8a08125 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -1846,6 +1846,21 @@
 
 
 /**
+ * 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

--
Gitblit v1.9.1