CERT.MEM.OVERRIDE.DELETE
'delete' に関する代替の動的ストレージ管理要件を順守します。
脆弱性とリスク
動的メモリ割り当てと割り当て解除の関数は、カスタム実装によってグローバルに代替できます。
動的メモリ割り当てまたは割り当て解除の関数を代替するものは、代替された関数の適切な必須動作条項によって指定された意味的要件を満たす必要があります。
このチェッカーは、"delete" の代替関数を探し、それらが noexcept で定義されていることをチェックします。
軽減と防止
代替 "delete" 関数は、noexcept で定義する必要があります。
例
コピー
void operator delete(void *ptr) {};
void operator delete[](void *ptr) {};
1 行目と 2 行目で違反が報告されます。