diff --git a/cfg/gnu.cfg b/cfg/gnu.cfg index 63dda17e4bc..ed9b886a539 100644 --- a/cfg/gnu.cfg +++ b/cfg/gnu.cfg @@ -597,7 +597,7 @@ - + - @@ -1286,9 +1286,9 @@ - + - @@ -1648,6 +1648,13 @@ + + + + + + false + diff --git a/test/cfg/gnu.c b/test/cfg/gnu.c index 296a3cc0442..bc765880df1 100644 --- a/test/cfg/gnu.c +++ b/test/cfg/gnu.c @@ -28,6 +28,9 @@ #ifdef __gnu_linux__ #include #endif +#ifdef _GNU_SOURCE +#include +#endif #include #include @@ -41,6 +44,34 @@ void unreachableCode_error(void) // #11197 } #endif +#ifdef _GNU_SOURCE +void leakReturnValNotUsed_get_current_dir_name(void) +{ + // cppcheck-suppress leakReturnValNotUsed + get_current_dir_name(); +} + +void memleak_get_current_dir_name0(void) +{ + const char *const name = get_current_dir_name(); + if (name) + { + // cppcheck-suppress memleak + return; + } +} + +void memleak_get_current_dir_name1(void) +{ + const char *const name = get_current_dir_name(); + if (name) + { + free(name); + return; + } +} +#endif + int nullPointer_gethostbyname2_r(const char* name, int af, struct hostent* ret, const char* buf, size_t buflen, struct hostent** result, const int* h_errnop) { // cppcheck-suppress nullPointer