FIX Clone Config_LRU incl. objects in array

Caused key confusions when using Config::nest()/unnest()
This commit is contained in:
Ingo Schommer 2013-03-26 12:47:52 +01:00
parent 04c3b5ee94
commit a415db91d4

View File

@ -623,6 +623,20 @@ class Config_LRU {
$this->indexing = array(); $this->indexing = array();
} }
public function __clone() {
if (version_compare(PHP_VERSION, '5.3.7', '<')) {
// SplFixedArray causes seg faults before PHP 5.3.7
$cloned = array();
}
else {
$cloned = new SplFixedArray(self::SIZE);
}
for ($i = 0; $i < self::SIZE; $i++) {
$cloned[$i] = clone $this->cache[$i];
}
$this->cache = $cloned;
}
public function set($key, $val, $tags = array()) { public function set($key, $val, $tags = array()) {
// Find an index to set at // Find an index to set at
$replacing = null; $replacing = null;