]> granicus.if.org Git - apache/commitdiff
* Increase the minimum and default value for MCacheMinObjectSize from 0 to 1,
authorRuediger Pluem <rpluem@apache.org>
Wed, 1 Nov 2006 13:02:25 +0000 (13:02 +0000)
committerRuediger Pluem <rpluem@apache.org>
Wed, 1 Nov 2006 13:02:25 +0000 (13:02 +0000)
  as a MCacheMinObjectSize of 0 does not make sense and leads to a
  signal Floating point exception (8) (division by zero) in
  memcache_gdsf_algorithm.

PR: 40576
Submitted by: Xuekun Hu <xuekun.hu gmail.com>
Reviewed by: rpluem

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@469895 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
docs/manual/mod/mod_mem_cache.xml
modules/cache/mod_mem_cache.c

diff --git a/CHANGES b/CHANGES
index 69d52b38a5b2672bee333b23da1e3680e03c6de8..7cd53ff6505de9b4325a015fbd0c8f47c8de1441 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,11 @@
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 
+  *) mod_mem_cache: Increase the minimum and default value for
+     MCacheMinObjectSize from 0 to 1, as a MCacheMinObjectSize of 0 does not
+     make sense and leads to a division by zero.  PR 40576.
+     [Xuekun Hu <xuekun.hu gmail.com>]
+
   *) mod_cache: Pass the output filter stack through the store_body()
      hook, giving each cache backend the ability to make a better
      decision as to how it will allocate the tasks of writing to the
index 1b2a52784ad5678bbcd797e686aa89e168c0b849..a98fc393da95fbd101057485b10ca841924f4c78 100644 (file)
@@ -102,7 +102,7 @@ cache</description>
 <description>The minimum size (in bytes) of a document to be allowed in the
 cache</description>
 <syntax>MCacheMinObjectSize <var>bytes</var></syntax>
-<default>MCacheMinObjectSize 0</default>
+<default>MCacheMinObjectSize 1</default>
 <contextlist><context>server config</context></contextlist>
 
 <usage>
index 69ffd580a5408332f7391529efe8890ba92cf78b..f72a7caa7dbdb278e0b3f49d02f7f4710fc86389 100644 (file)
@@ -93,7 +93,7 @@ typedef struct {
 static mem_cache_conf *sconf;
 
 #define DEFAULT_MAX_CACHE_SIZE 100*1024
-#define DEFAULT_MIN_CACHE_OBJECT_SIZE 0
+#define DEFAULT_MIN_CACHE_OBJECT_SIZE 1
 #define DEFAULT_MAX_CACHE_OBJECT_SIZE 10000
 #define DEFAULT_MAX_OBJECT_CNT 1009
 #define DEFAULT_MAX_STREAMING_BUFFER_SIZE 100000
@@ -888,9 +888,12 @@ static const char
     apr_size_t val;
 
     if (sscanf(arg, "%" APR_SIZE_T_FMT, &val) != 1) {
-        return "MCacheMinObjectSize value must be an integer (bytes)";
+        return "MCacheMinObjectSize value must be an positive integer (bytes)";
     }
-    sconf->min_cache_object_size = val;
+    if (val > 0)
+       sconf->min_cache_object_size = val;
+    else
+       return  "MCacheMinObjectSize value must be an positive integer (bytes)";
     return NULL;
 }
 static const char