Open
Description
Bug だと言われているもののうち最高レベルの Blocker は43件で、内訳は以下のような形です。
- 27件 = 文字列操作(範囲外参照の可能性)
- 6件 = 「std::make_unique の戻り値がリークする」という内容の警告(??)
- 4件 = std::forwardの使い方 (std::move を使うべきところで std::forward が使われているので置き換える #1477)
- 3件 = 文字以外の配列操作
- 2件 = オブジェクト外への参照を戻り値にしている
- 1件 = 継承元クラスへのスライシング
特に文字列操作についてよく怒られているわけですが、適切に範囲チェックしているのに分析器がそれを検出できてないのが実態であるように見えます。
C文字列を使ってはいけない。すべて std::string にするべきだ。ということを言いたいようですが。
1万9千件もある Code Smell についての警告も大部分がそういう内容ですし、コードベース全体で審査に合格するのはきっと途方もなく大変です…。
PR などで追加・修正した部分だけ Quality Gate 適用できたらいいなあ、と思います。
Originally posted by @k-kagari in #1476 (comment)