А как же те случаи, когда не получится нормально предугадать максимальный нужный размер, и может оказаться так, что буффер всё равно переполнится (при том, что памяти еще дофига и больше)?
если вы упираетесь в буфер не зависимо от его размера, значит вы не успеваете обрабатывать данные, а значит даже бесконечный буфер вас не спасёт