エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
C/C++/ObjC メモリ破壊系バグのつぶし方 その1 - Pebble Coding
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C/C++/ObjC メモリ破壊系バグのつぶし方 その1 - Pebble Coding
メモリ破壊系バグとは メモリ破壊系バグとは、プログラマーが想定して割り当てたメモリ領域のサイズを超... メモリ破壊系バグとは メモリ破壊系バグとは、プログラマーが想定して割り当てたメモリ領域のサイズを超えた部分にデータを書き込んでしまい、 プログラムが意図通り動作しなくなるバグのことです。 このバグは以下の特徴を持っています。 再現性が100%ではない場合が多い。 バグの原因箇所の特定が難しい。 破壊するメモリの領域としては、スタック領域、ヒープ領域、その他があります。 また、プログラマが明示的に確保した領域またはライブラリが確保した領域に分けられます。 スタック領域の例としては、関数内で以下のように宣言した a[32] の32バイトなどです。 void hello(void){ char a[32]; memset(a, 0, 33); // 1バイト分オーバー! } このようにスタック領域を破壊した場合は、hello()関数の戻り先アドレスを上書きしてしまい、この関数以降は命令自体 まと