Cppcheck は、次のようなコードで潜在的な問題を検出しました。
float a, b, c;
int count = sscanf(data, "%f,%f,%f", &a, &b, &c);
「フィールド幅制限のないscanfは、巨大なデータでクラッシュする可能性があります」と書かれています。そんなことがあるものか?それはいくつかの sscanf 実装の既知のバグですか? 数値が (数値的に) オーバーフローする可能性があることは理解していますが、どのようにしてプログラムがクラッシュするのでしょうか? それはcppcheckの誤検知ですか?
同様の質問を見つけました: scanf Cppcheck warningですが、答えは完全に満足できるものではありません。答えは型の安全性に言及していますが、それはここでは問題になりません。