@@ -13,9 +13,9 @@ import semmle.code.cpp.models.interfaces.NonThrowing
1313/**
1414 * The standard functions `printf`, `wprintf` and their glib variants.
1515 */
16- private class Printf extends FormattingFunction , AliasFunction , NonCppThrowingFunction {
16+ private class Printf extends FormattingFunction , AliasFunction , NonCppThrowingFunction instanceof TopLevelFunction
17+ {
1718 Printf ( ) {
18- this instanceof TopLevelFunction and
1919 (
2020 this .hasGlobalOrStdOrBslName ( [ "printf" , "wprintf" ] ) or
2121 this .hasGlobalName ( [ "printf_s" , "wprintf_s" , "g_printf" ] )
@@ -37,9 +37,9 @@ private class Printf extends FormattingFunction, AliasFunction, NonCppThrowingFu
3737/**
3838 * The standard functions `fprintf`, `fwprintf` and their glib variants.
3939 */
40- private class Fprintf extends FormattingFunction , NonCppThrowingFunction {
40+ private class Fprintf extends FormattingFunction , NonCppThrowingFunction instanceof TopLevelFunction
41+ {
4142 Fprintf ( ) {
42- this instanceof TopLevelFunction and
4343 (
4444 this .hasGlobalOrStdOrBslName ( [ "fprintf" , "fwprintf" ] ) or
4545 this .hasGlobalName ( "g_fprintf" )
@@ -55,9 +55,9 @@ private class Fprintf extends FormattingFunction, NonCppThrowingFunction {
5555/**
5656 * The standard function `sprintf` and its Microsoft and glib variants.
5757 */
58- private class Sprintf extends FormattingFunction , NonCppThrowingFunction {
58+ private class Sprintf extends FormattingFunction , NonCppThrowingFunction instanceof TopLevelFunction
59+ {
5960 Sprintf ( ) {
60- this instanceof TopLevelFunction and
6161 (
6262 this .hasGlobalOrStdOrBslName ( [
6363 "sprintf" , // sprintf(dst, format, args...)
@@ -99,10 +99,9 @@ private class Sprintf extends FormattingFunction, NonCppThrowingFunction {
9999 * Implements `Snprintf`.
100100 */
101101private class SnprintfImpl extends Snprintf , AliasFunction , SideEffectFunction ,
102- NonCppThrowingFunction
102+ NonCppThrowingFunction instanceof TopLevelFunction
103103{
104104 SnprintfImpl ( ) {
105- this instanceof TopLevelFunction and
106105 (
107106 this .hasGlobalOrStdOrBslName ( [
108107 "snprintf" , // C99 defines snprintf
@@ -175,9 +174,8 @@ private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction,
175174 * and
176175 * https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms860435(v=msdn.10)
177176 */
178- private class StringCchPrintf extends FormattingFunction {
177+ private class StringCchPrintf extends FormattingFunction instanceof TopLevelFunction {
179178 StringCchPrintf ( ) {
180- this instanceof TopLevelFunction and
181179 exists ( string baseName |
182180 baseName in [
183181 "StringCchPrintf" , //StringCchPrintf(pszDest, cchDest, pszFormat, ...)
@@ -207,9 +205,8 @@ private class StringCchPrintf extends FormattingFunction {
207205/**
208206 * The standard function `syslog`.
209207 */
210- private class Syslog extends FormattingFunction , NonCppThrowingFunction {
208+ private class Syslog extends FormattingFunction , NonCppThrowingFunction instanceof TopLevelFunction {
211209 Syslog ( ) {
212- this instanceof TopLevelFunction and
213210 this .hasGlobalName ( "syslog" ) and
214211 not exists ( this .getDefinition ( ) .getFile ( ) .getRelativePath ( ) )
215212 }
0 commit comments