abortされちゃうと攻撃者としては乗っ取り失敗なので防御になってるわけです。./strcpy_test次に、mallocを使ったケースhttps://gist.github.com/kosaki/5514394これもまったく同じようにコンパイル時警告+実行時abortに成功します。次にネタばらしに入るのですが、現実のプロジェクトでよくあるようにmallocに一枚ラッパーをかぶせて使ってみます。./strcpy_test3おや、一転して警告も実行時エラーも出なくなってしまいました。いう関数がなにをしている関数が知っていてチートしていたのです。いう機能をつかって自分の関数がmallocと同等であるとコンパイラに教えてあげればいい。mallocを直接呼んだソースと、まったく同じように動作する。alloc_sizeを理解して使うべきである。はい、このエントリでいいたいこと終わり。