セキュリティホールは puts(3) じゃなくて gets(3) の方ですね。 バッファサイズを指定できないから。