diff --git a/cfg/gtk.cfg b/cfg/gtk.cfg index 9cc6aa0f0..300d3ece2 100644 --- a/cfg/gtk.cfg +++ b/cfg/gtk.cfg @@ -393,9 +393,11 @@ g_key_file_get_start_group g_key_file_to_data g_malloc + g_realloc g_malloc0 g_malloc0_n g_malloc_n + g_realloc_n g_memdup g_path_get_basename g_path_get_dirname @@ -414,9 +416,11 @@ g_strnfill g_time_val_to_iso8601 g_try_malloc + g_try_realloc g_try_malloc0 g_try_malloc0_n g_try_malloc_n + g_try_realloc_n g_ucs4_to_utf16 g_ucs4_to_utf8 g_unicode_canonical_decomposition @@ -441,10 +445,6 @@ g_key_file_get_integer_list g_key_file_get_double_list g_key_file_get_comment - g_new - g_new0 - g_try_new - g_try_new0 g_dbus_proxy_get_name_owner g_file_info_get_attribute_as_string g_file_attribute_matcher_to_string @@ -3646,6 +3646,7 @@ false + @@ -3658,6 +3659,7 @@ false + 0: @@ -3668,13 +3670,33 @@ 0: + - + + false + + + + + 0: + + - + + false + + + + 0: + + + + + 0: + @@ -4912,6 +4934,7 @@ + @@ -4923,6 +4946,7 @@ + 0: diff --git a/test/cfg/gtk.c b/test/cfg/gtk.c index 7abb4991f..292a5f2a4 100644 --- a/test/cfg/gtk.c +++ b/test/cfg/gtk.c @@ -57,10 +57,157 @@ void validCode(int argInt) void g_malloc_test() { + // cppcheck-suppress ignoredReturnValue // cppcheck-suppress leakReturnValNotUsed g_malloc(8); gpointer gpt = g_malloc(1); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_malloc0_test() +{ + // cppcheck-suppress ignoredReturnValue + // cppcheck-suppress leakReturnValNotUsed + g_malloc0(8); + + gpointer gpt = g_malloc0(1); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_malloc_n_test() +{ + // cppcheck-suppress ignoredReturnValue + // cppcheck-suppress leakReturnValNotUsed + g_malloc_n(8, 1); + + gpointer gpt = g_malloc_n(1, 2); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_malloc0_n_test() +{ + // cppcheck-suppress ignoredReturnValue + // cppcheck-suppress leakReturnValNotUsed + g_malloc0_n(8, 1); + + gpointer gpt = g_malloc0_n(1, 2); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_try_malloc_test() +{ + // cppcheck-suppress ignoredReturnValue + // cppcheck-suppress leakReturnValNotUsed + g_try_malloc(8); + + gpointer gpt = g_try_malloc(1); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_try_malloc0_test() +{ + // cppcheck-suppress ignoredReturnValue + // cppcheck-suppress leakReturnValNotUsed + g_try_malloc0(8); + + gpointer gpt = g_try_malloc0(1); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_try_malloc_n_test() +{ + // cppcheck-suppress ignoredReturnValue + // cppcheck-suppress leakReturnValNotUsed + g_try_malloc_n(8, 1); + + gpointer gpt = g_try_malloc_n(1, 2); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_try_malloc0_n_test() +{ + // cppcheck-suppress ignoredReturnValue + // cppcheck-suppress leakReturnValNotUsed + g_try_malloc0_n(8, 1); + + gpointer gpt = g_try_malloc0_n(1, 2); + + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_realloc_test() +{ + // cppcheck-suppress ignoredReturnValue + // TODO cppcheck-suppress leakReturnValNotUsed + g_realloc(NULL, 1); + + gpointer gpt = g_malloc(1); + gpt = g_realloc(gpt, 2); // No memleakOnRealloc since g_realloc aborts if it fails + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_realloc_n_test() +{ + // cppcheck-suppress ignoredReturnValue + // TODO cppcheck-suppress leakReturnValNotUsed + g_realloc_n(NULL, 1, 2); + + gpointer gpt = g_malloc_n(1, 2); + gpt = g_realloc_n(gpt, 2, 3); // No memleakOnRealloc since g_realloc_n aborts if it fails + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_try_realloc_test() +{ + // cppcheck-suppress ignoredReturnValue + // TODO cppcheck-suppress leakReturnValNotUsed + g_try_realloc(NULL, 1); + + gpointer gpt = g_try_malloc(1); + // cppcheck-suppress memleakOnRealloc + gpt = g_try_realloc(gpt, 2); + printf("%p", gpt); + + // cppcheck-suppress memleak +} + +void g_try_realloc_n_test() +{ + // cppcheck-suppress ignoredReturnValue + // TODO cppcheck-suppress leakReturnValNotUsed + g_try_realloc_n(NULL, 1, 2); + + gpointer gpt = g_try_malloc_n(1, 2); + // TODO cppcheck-suppress memleakOnRealloc + gpt = g_try_realloc_n(gpt, 2, 3); printf("%p", gpt); // cppcheck-suppress memleak @@ -120,6 +267,41 @@ void g_new_if_test() // cppcheck-suppress memleak } +void g_new0_test() +{ + struct a { + int b; + }; + // valid + struct a * pNew1 = g_new0(struct a, 5); + printf("%p", pNew1); + g_free(pNew1); + + // cppcheck-suppress leakReturnValNotUsed + g_new0(struct a, 1); + + struct a * pNew2 = g_new0(struct a, 2); + printf("%p", pNew2); + // cppcheck-suppress memleak +} + +void g_try_new_test() +{ + struct a { + int b; + }; + // valid + struct a * pNew1 = g_try_new(struct a, 5); + printf("%p", pNew1); + g_free(pNew1); + + // cppcheck-suppress leakReturnValNotUsed + g_try_new(struct a, 1); + + struct a * pNew2 = g_try_new(struct a, 2); + printf("%p", pNew2); + // cppcheck-suppress memleak +} void g_try_new0_test() { struct a { @@ -138,6 +320,37 @@ void g_try_new0_test() // cppcheck-suppress memleak } +void g_renew_test() +{ + struct a { + int b; + }; + // TODO cppcheck-suppress leakReturnValNotUsed + g_renew(struct a, NULL, 1); + + struct a * pNew = g_new(struct a, 1); + pNew = g_renew(struct a, pNew, 2); // No memleakOnRealloc since g_renew aborts if it fails + printf("%p", pNew); + + // cppcheck-suppress memleak +} + +void g_try_renew_test() +{ + struct a { + int b; + }; + // TODO cppcheck-suppress leakReturnValNotUsed + g_try_renew(struct a, NULL, 1); + + struct a * pNew = g_try_new(struct a, 1); + // TODO cppcheck-suppress memleakOnRealloc + pNew = g_try_renew(struct a, pNew, 2); + printf("%p", pNew); + + // cppcheck-suppress memleak +} + void g_error_new_test() { // valid