***すれ立てるまでもない質問はここで 第23刷***
■ このスレッドは過去ログ倉庫に格納されています
0289デフォルトの名無しさん
NGNGふむ、確かに一考の余地はあるかと思う。多くの脆弱性が...
void foo()
{
char buff[10];
gets(buff);
...
}
のようなプログラム対して、10バイト以上の入力を与えてリターンアドレスを書き換えてるから、そう言うのに対しては有効だと思う。
ただもちろん、
void foo()
{
char buff[10];
void (*f)();
...
f = bar;
gets(buff);
f();
...
}
なんてコードなら、ダメなこともありえる。
スタックが減少方向なのは、多くのシステムメモリレイアウトがヒープとスタックを両方から使うようになっていて、ヒープが下位から、スタックが上位から下位方向に使うためだったと思う。
確かに、ヒープとスタックを入れ替えてもあんまり支障はなさそうだから、そう言うプロセッサ作ってみては ? > Intel アーキテクチャ様
■ このスレッドは過去ログ倉庫に格納されています