@@ -13,23 +13,21 @@ import semmle.code.cpp.models.interfaces.SideEffect
1313 */
1414class StrcpyFunction extends ArrayFunction , DataFlowFunction , TaintFunction , SideEffectFunction {
1515 StrcpyFunction ( ) {
16- // strcpy(dst, src)
17- // wcscpy(dst, src)
18- // _mbscpy(dst, src)
19- // strncpy(dst, src, max_amount)
20- // _strncpy_l(dst, src, max_amount, locale)
21- // wcsncpy(dst, src, max_amount)
22- // _wcsncpy_l(dst, src, max_amount, locale)
23- // _mbsncpy(dst, src, max_amount)
24- // _mbsncpy_l(dst, src, max_amount, locale)
2516 getName ( ) =
26- [ "strcpy" , "wcscpy" , "_mbscpy" , "strncpy" , "_strncpy_l" , "wcsncpy" , "_wcsncpy_l" , "_mbsncpy" ,
27- "_mbsncpy_l" ]
17+ [ "strcpy" , // strcpy(dst, src)
18+ "wcscpy" , // wcscpy(dst, src)
19+ "_mbscpy" , // _mbscpy(dst, src)
20+ "strncpy" , // strncpy(dst, src, max_amount)
21+ "_strncpy_l" , // _strncpy_l(dst, src, max_amount, locale)
22+ "wcsncpy" , // wcsncpy(dst, src, max_amount)
23+ "_wcsncpy_l" , // _wcsncpy_l(dst, src, max_amount, locale)
24+ "_mbsncpy" , // _mbsncpy(dst, src, max_amount)
25+ "_mbsncpy_l" ] // _mbsncpy_l(dst, src, max_amount, locale)
2826 or
29- // strcpy_s(dst, max_amount, src)
30- // wcscpy_s (dst, max_amount, src)
31- // _mbscpy_s (dst, max_amount, src)
32- getName ( ) = [ "strcpy_s" , "wcscpy_s" , "_mbscpy_s" ] and
27+ getName ( ) =
28+ [ "strcpy_s" , // strcpy_s (dst, max_amount, src)
29+ "wcscpy_s" , // wcscpy_s (dst, max_amount, src)
30+ "_mbscpy_s" ] and // _mbscpy_s(dst, max_amount, src)
3331 // exclude the 2-parameter template versions
3432 // that find the size of a fixed size destination buffer.
3533 getNumberOfParameters ( ) = 3
0 commit comments