目次:
定義-Smash The Stackとはどういう意味ですか?
「スタックを破壊する」は、特定のプログラミング言語でプログラムを操作するための俗語です。 一般的には、バグや問題の状況を引き起こす可能性のあるランダムメモリアクセスの変更を引き起こす試みを指します。
スタックを破壊することは、スタックをゴミ箱にすること、スタックを落書きすること、またはスタックをマングルすることとしても知られています。
TechopediaはSmash The Stackについて説明します
Cおよび関連言語では、スタックは抽象データ型であり、たとえば、あるプロシージャまたは関数から別のプロシージャまたは関数に変数を返す場合、または関数で使用される変数を割り当てる場合に使用されます。 関数とプロシージャは相互に変数を渡すため、ポインタなどの機能を備えた連続スタックを使用して、このタイプの動的割り当てを管理します。
Cでは、「プッシュ」および「ポップ」コマンドがスタックを操作します。 関数呼び出しが配列の終わりを超えて書き込みを行うと、スタックの破壊が発生します。これにより、実行スタックが破損し、メモリアクセスとメモリアドレスの使用でエラーが発生する可能性があります。 これは、バッファのオーバーフローとも呼ばれます。
