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 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
<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>
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
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