فهرست منبع

PHP 5.3.2 segmentation fault fix

For some reason, using the SqlFixedArray causes a Segmentation Fault during
an install or update.  Changing to a simple array fixes this issue, but in
turn uses more memory.  Which is why there is the version test.
Justin Rainbow 13 سال پیش
والد
کامیت
7eda0a8823
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      src/Composer/DependencyResolver/Solver.php

+ 5 - 1
src/Composer/DependencyResolver/Solver.php

@@ -937,7 +937,11 @@ class Solver
             $this->installedMap[$package->getId()] = $package;
         }
 
-        $this->decisionMap = new \SplFixedArray($this->pool->getMaxId() + 1);
+        if (version_compare(PHP_VERSION, '5.3.2', '>')) {
+            $this->decisionMap = new \SplFixedArray($this->pool->getMaxId() + 1);
+        } else {
+            $this->decisionMap = array_fill(0, $this->pool->getMaxId() + 1, 0);
+        }
 
         foreach ($this->jobs as $job) {
             switch ($job['cmd']) {