Fix FN for std::uintmax_t passed as %Lu and %Lx into scanf
This commit is contained in:
parent
167258a6bf
commit
73414ee56c
|
@ -783,7 +783,7 @@ void CheckIO::checkFormatString(const Token * const tok,
|
|||
if (argInfo.typeToken->str() != "long" || !argInfo.typeToken->isLong())
|
||||
invalidScanfArgTypeError_int(tok, numFormat, specifier, &argInfo, true);
|
||||
else if (typesMatch(argInfo.typeToken->originalName(), "size_t") ||
|
||||
argInfo.typeToken->originalName() == "uintmax_t")
|
||||
typesMatch(argInfo.typeToken->originalName(), "uintmax_t"))
|
||||
invalidScanfArgTypeError_int(tok, numFormat, specifier, &argInfo, true);
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -1312,7 +1312,7 @@ private:
|
|||
TEST_SCANF_WARN_AKA("%Lu", "unsigned long long", "std::ssize_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA("%Lu", "unsigned long long", "std::ptrdiff_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA("%Lu", "unsigned long long", "std::intmax_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA_WIN32("%Lu", "unsigned long long", "std::uintmax_t", "unsigned long");
|
||||
TEST_SCANF_WARN_AKA("%Lu", "unsigned long long", "std::uintmax_t", "unsigned long", "unsigned long long");
|
||||
TEST_SCANF_WARN_AKA("%Lu", "unsigned long long", "std::intptr_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA_WIN32("%Lu", "unsigned long long", "std::uintptr_t", "unsigned long");
|
||||
|
||||
|
@ -1344,7 +1344,7 @@ private:
|
|||
TEST_SCANF_WARN_AKA("%Lx", "unsigned long long", "std::ssize_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA("%Lx", "unsigned long long", "std::ptrdiff_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA("%Lx", "unsigned long long", "std::intmax_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA_WIN32("%Lx", "unsigned long long", "std::uintmax_t", "unsigned long");
|
||||
TEST_SCANF_WARN_AKA("%Lx", "unsigned long long", "std::uintmax_t", "unsigned long", "unsigned long long");
|
||||
TEST_SCANF_WARN_AKA("%Lx", "unsigned long long", "std::intptr_t", "signed long", "signed long long");
|
||||
TEST_SCANF_WARN_AKA_WIN32("%Lx", "unsigned long long", "std::uintptr_t", "unsigned long");
|
||||
|
||||
|
|
Loading…
Reference in New Issue