Не уверен, что растущий вверх стек лучше: там ошибки такого рода проходят беззвучно. Когда тихо и редко глючит -- хуже, чем когда сразу сваливается. Довод, кстати, почему буфера лучше malloc'ом выделять -- на PC ловится чем-то вроде valgrind'а на раз, на пике тоже в общем-то можно.