Undefined Behavior (未定義の動作)¶
ルール ID¶
MI110
定義¶
ソフトウェアは、未定義または予測不可能な動作を示しています。これは、多くの場合、クラッシュにつながります。
サンプル¶
次のコードは、CWE の該当コード サンプルの 1 つです。
1 2 3 4 5 |
|
このサンプル関数では、変数 a のアドレスに 1 を追加することで変数 b のアドレスを導き出しています。その後、導き出されたアドレスを使用して b に値 0 を代入しています。しかし、b が a の 1 バイト後ろとはかぎりません。a の 1 バイト前かもしれません。あるいは、32 ビット境界合わせのために、2 つの変数の間には 3 バイトあるかもしれません。