C言語は配列の最後にNULL(初期の規格では0)をおくことで配列の大きさを表していたのですが、これがputs()のセキュリティホールになったのですね。