Răsfoiți Sursa

Abort normalization of traversables after 1000 items have been discovered, fixes #201

Jordi Boggiano 12 ani în urmă
părinte
comite
a43f926ffe
1 a modificat fișierele cu 5 adăugiri și 0 ștergeri
  1. 5 0
      src/Monolog/Formatter/NormalizerFormatter.php

+ 5 - 0
src/Monolog/Formatter/NormalizerFormatter.php

@@ -61,7 +61,12 @@ class NormalizerFormatter implements FormatterInterface
         if (is_array($data) || $data instanceof \Traversable) {
         if (is_array($data) || $data instanceof \Traversable) {
             $normalized = array();
             $normalized = array();
 
 
+            $count = 1;
             foreach ($data as $key => $value) {
             foreach ($data as $key => $value) {
+                if ($count++ >= 1000) {
+                    $normalized['...'] = 'Over 1000 items, aborting normalization';
+                    break;
+                }
                 $normalized[$key] = $this->normalize($value);
                 $normalized[$key] = $this->normalize($value);
             }
             }