瀏覽代碼

merged branch lenar/patch-1 (PR #1526)

Commits
-------

511a9a1 Edited src/Symfony/Component/Console/Helper/DialogHelper.php via GitHub

Discussion
----------

EOF triggers infinite loop in console dialog helper

* fix by throwing an exception when fgets() fails
* Also fixes "0" returning a default answer instead of "0"

---------------------------------------------------------------------------

by lenar at 2011/07/05 00:26:02 -0700

Fixes #1521.
Fabien Potencier 14 年之前
父節點
當前提交
bc9ef8f297
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      src/Symfony/Component/Console/Helper/DialogHelper.php

+ 5 - 2
src/Symfony/Component/Console/Helper/DialogHelper.php

@@ -35,9 +35,12 @@ class DialogHelper extends Helper
     {
         $output->write($question);
 
-        $ret = trim(fgets(null === $this->inputStream ? STDIN : $this->inputStream));
+        if (false === $ret = fgets(null === $this->inputStream ? STDIN : $this->inputStream)) {
+            throw new \Exception('Aborted');
+        }
+        $ret = trim($ret);
 
-        return $ret ? $ret : $default;
+        return strlen($ret) > 0 ? $ret : $default;
     }
 
     /**