JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
C and C++


MISC.FMTTYPE : 不正なフォーマット文字列

要旨

printfに似た関数へ渡された引数が、フォーマット文字列(書式文字列)型と一致しません。引数の数が正しくない若しくは引数の型に誤りがあります。

プロパティ

クラス名 Format String Type Error
日本語クラス名 不正なフォーマット文字列
クラス分類 セキュリティ (security)
ニーモニック MISC.FMTTYPE
カテゴリー
CWE CWE:628 Function Call with Incorrectly Specified Arguments
  CWE:687 Function Call With Incorrectly Specified Argument Value
  CWE:688 Function Call With Incorrect Variable or Reference as Argument
TS17961 TS17961:5.44-invfmtstr Using invalid format strings
CERT-C CERT-C:FIO47-C Use valid format strings
OWASP-2021 OWASP-2021:A4 Insecure design
OWASP-2025 OWASP-2025:A06 Insecure Design
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Format String Type Error"

#include <stdio.h>

void misc_fmttype(void){
    printf("%i", 5);                          /* ok: correct number and type of arguments */

    printf("%i", 5.5);       /* "Format String Type Error" warning issued here:
                              * format string specifies an integer but argument is a float. */

    printf("%i", "5");       /* "Format String Type Error" warning issued here:
                              * format string specifies an integer but argument is a string. */

    printf("%i%i", 5);       /* "Format String Type Error" warning issued here:
                              * format string specifies two arguments but there is only one. */

    printf("%i%i", 5, 5, 5); /* "Format String Type Error" warning issued here:
                              * format string specifies two arguments but there are three. */
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。

 

To report problems with this documentation, please visit https://support.codesecure.com/.