Cppcheckは、scanfに対して次の警告を表示します。
メッセージ:フィールド幅の制限がないscanfは、膨大な入力データでクラッシュする可能性があります。このエラーメッセージを修正するには、フィールド幅指定子を追加します。
%s =>%20s
%i =>%3i
クラッシュする可能性のあるサンプルプログラム:
#含む
int main()
{{
int a;
scanf( "%i"、&a);
0を返します。
}
クラッシュさせるには:
perl -e'print "5" x2100000' | ./a.out
「巨大な入力データ」と入力してこのプログラムをクラッシュさせることはできません。このクラッシュを取得するには、正確に何を入力する必要がありますか?また、この警告の最後の行の意味もわかりません。
perl-e..。