diff --git a/cfg/std.cfg b/cfg/std.cfg index 46839583e..2fbfa571e 100644 --- a/cfg/std.cfg +++ b/cfg/std.cfg @@ -4689,6 +4689,26 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun 0: + + + + false + + + + + + + + + + 0: + + + + + + false diff --git a/test/cfg/std.c b/test/cfg/std.c index 05a269c7f..464e27a73 100644 --- a/test/cfg/std.c +++ b/test/cfg/std.c @@ -3026,6 +3026,24 @@ void uninitvar_strncat(char *Ct, char *S, size_t N) (void)strncat(Ct,S,N); } +void uninitvar_strcat_s(char *Ct, size_t N, char *S) +{ + char *ct; + char *s; + size_t n; + // cppcheck-suppress uninitvar + (void)strcat_s(ct,n,s); + // cppcheck-suppress uninitvar + (void)strcat_s(ct,N,S); + // cppcheck-suppress uninitvar + (void)strcat_s(Ct,N,s); + // cppcheck-suppress uninitvar + (void)strcat_s(Ct,n,S); + + // no warning is expected for + (void)strcat_s(Ct,N,S); +} + void uninitvar_strncat_s(char *Ct, size_t N1, char *S, size_t N2) { char *ct;