Commit d5ba47a0 authored by Ruediger Pluem's avatar Ruediger Pluem
Browse files

* 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
  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
parent 39b8af53
Loading
Loading
Loading
Loading
+5 −0
Changes for CHANGES: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -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
+1 −1
Changes for docs/manual/mod/mod_mem_cache.xml: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -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>
+5 −2
Changes for modules/cache/mod_mem_cache.c: 5 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -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)";
    }
    if (val > 0)
       sconf->min_cache_object_size = val;
    else
       return  "MCacheMinObjectSize value must be an positive integer (bytes)";
    return NULL;
}
static const char