зеркало из https://github.com/microsoft/clang.git
Alternate format string checking: check if the number of format specifiers exceeds the number of arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94785 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
d7a3f01a51
Коммит
da51f0d136
|
@ -1418,6 +1418,18 @@ CheckPrintfHandler::HandleFormatSpecifier(const analyze_printf::FormatSpecifier
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
// The remaining checks depend on the data arguments.
|
||||
if (HasVAListArg)
|
||||
return true;
|
||||
|
||||
if (NumConversions > NumDataArgs) {
|
||||
S.Diag(getLocationOfByte(CS.getStart()),
|
||||
diag::warn_printf_insufficient_data_args)
|
||||
<< getFormatRange();
|
||||
// Don't do any more checking.
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче