エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント3件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
PHPとRubyとPythonのparserをいじめてみた - hnwの日記
下記のようなプログラムを与えると、PHPのparserが「無理っす」と言って死にます。 <?php !!!…(10000個... 下記のようなプログラムを与えると、PHPのparserが「無理っす」と言って死にます。 <?php !!!…(10000個くらい)…!!!true; $ php ./hoge.php PHP Parse error: memory exhausted in /Users/hanawa/hoge.php on line 2yaccによるparserはシフトと還元を繰り返しながら構文解析していきます。単項演算子について言えば、後置された表現が確定するまで還元できませんから、!が連続している間はシフトし続け、トークンをスタックに積み続ける必要があります。 このようにトークンを記録するためのスタックのサイズがPHPでは10000個しかありません。ですから、単項演算子を10000個ほど書くだけで簡単に死にます。他にも、「(」を10000個ほど連続して置くなどの嫌がらせでもPHPを死なせることができま
2009/02/18 リンク