diff --git a/ChangeLog b/ChangeLog
index 12e1d24ae2..bf99259817 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -92,6 +92,7 @@ $Id$
is no progress bar possible
- bug [replication] Do not offer information_schema in the list of databases
- bug [js] Avoid loading twice a js file
+- bug #3024344 [setup] Setup forces numeric MemoryLimit
3.3.4.0 (2010-06-28)
- bug #2996161 [import] properly escape import value
diff --git a/Documentation.html b/Documentation.html
index d414b477b2..7e945dba2d 100644
--- a/Documentation.html
+++ b/Documentation.html
@@ -1315,7 +1315,7 @@ CREATE DATABASE,ALTER DATABASE,DROP DATABASE
Path for storing session data (session_save_path PHP parameter).
- $cfg['MemoryLimit'] integer [number of bytes]
+ $cfg['MemoryLimit'] string [number of bytes]
Set the number of bytes a script is allowed to allocate. If set
to zero, no limit is imposed.
This setting is used while importing/exporting dump files and at some
diff --git a/libraries/config.default.php b/libraries/config.default.php
index b2a3932757..be034c8cb9 100644
--- a/libraries/config.default.php
+++ b/libraries/config.default.php
@@ -542,11 +542,13 @@ $cfg['ExecTimeLimit'] = 300;
$cfg['SessionSavePath'] = '';
/**
- * maximum allocated bytes (0 for no limit)
+ * maximum allocated bytes ('0' for no limit)
+ * this is a string because '16M' is a valid value; we must put here
+ * a string as the default value so that /setup accepts strings
*
- * @global integer $cfg['MemoryLimit']
+ * @global string $cfg['MemoryLimit']
*/
-$cfg['MemoryLimit'] = 0;
+$cfg['MemoryLimit'] = '0';
/**
* mark used tables, make possible to show locked tables (since MySQL 3.23.30)