В процессе поиска на bugs.php.net краша под свой случай, накопилось много различных реализаций. К сожаленю, я всё ещё в поисках, поэтому предлагаю постить здесь различные примеры и, по возможности, обсуждать их.
Различные кейсы могут быть полезны для возможности оставления временных файлов, развития дальнейшей атаки на интерпретатор и других хитрых штук
[/COLOR][COLOR="#FF8000"]// This works fine [/COLOR][COLOR="#0000BB"]$it[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getPixelIterator[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$it[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getCurrentIteratorRow[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]->[/COLOR][COLOR="#0000BB"]getColor[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#FF8000"]// This crashes with SIGABRT [/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getPixelIterator[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]getCurrentIteratorRow[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]->[/COLOR][COLOR="#0000BB"]getColor[/COLOR][COLOR="#007700"]();
public function[/COLOR][COLOR="#0000BB"]__toString[/COLOR][COLOR="#007700"](){ [/COLOR][COLOR="#0000BB"]openssl_pkey_export[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$output[/COLOR][COLOR="#007700"]); return[/COLOR][COLOR="#0000BB"]$output[/COLOR][COLOR="#007700"]; }