Here is a fix for you:
edit function.php, find:
PHP Code:
$bbcode=str_replace(trim($smilie[smilietext]),"<img src=\"$smilie[smiliepath]\" border=\"0\" alt=\"\">",$bbcode);
Before that add:
PHP Code:
if (substr_count($bbcode, trim($smilie[smilietext]))>1000)
{
// do something bad to the spammer like automatically changing his usergroup to banned members
// notify admin about his malicious behaviour etc.
// then exit in peace.. ;-)
exit;
}
You can change 1000 with any numbers your server can handle.. This code will first count the smilie number in the post before attempting to process (replace) them and if the number is too high, it will exit and not let str_replace to run to get the server on its knees. FYI "substr_count" works VERY FAST so you dont need to worry about its performance..
BTW congratulate your "bored" members for me, it was a good catch..
Enjoy..

Logician