CWARN.NOEFFECT.SELF_ASSIGN
無効な自己割り当て
CWARN.NOEFFECT.SELF_ASSIGN チェッカーは、変数に対応する式が自身に割り当てられているインスタンスにフラグを立てます。
脆弱性とリスク
自身への割り当ては意味がないため、設計の意図が達成されない可能性があります。自己割り当ては、エラーでなくても、コード内でより大きなエラーを示す場合があります。
脆弱な修正コード例 2
コピー
class A {
int i;
char c;
bool b;
public:
A(int i, char c) {
this->i = i;
this->c = c;
this->b = b;
}
};
この例では、Klocwork は、自身への割り当てを示す 9 行目にフラグを立てますが、代入式が正しい 7 行目と 8 行目にはフラグを立てません。