diff options
author | Martin Willi <martin@strongswan.org> | 2008-03-27 11:42:35 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2008-03-27 11:42:35 +0000 |
commit | cf4caefab12b9e7b4ac3a74f893a2ccf80b9c5fc (patch) | |
tree | da83176880075903baf2a4ea3e8ea9ef83774a5a /src | |
parent | 4204db116bc9abc33376722e3b2362f84f22913b (diff) | |
download | strongswan-cf4caefab12b9e7b4ac3a74f893a2ccf80b9c5fc.tar.bz2 strongswan-cf4caefab12b9e7b4ac3a74f893a2ccf80b9c5fc.tar.xz |
whitelisted FCGX_Init
reporting count of leaks suppressed by whitelist
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/utils/leak_detective.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/libstrongswan/utils/leak_detective.c b/src/libstrongswan/utils/leak_detective.c index 149456875..a86fe0229 100644 --- a/src/libstrongswan/utils/leak_detective.c +++ b/src/libstrongswan/utils/leak_detective.c @@ -230,6 +230,7 @@ char *whitelist[] = { "mysql_init_character_set", "init_client_errs", "my_thread_init", + "FCGX_Init", }; /** @@ -265,11 +266,15 @@ static bool is_whitelisted(void **stack_frames, int stack_frame_count) void report_leaks() { memory_header_t *hdr; - int leaks = 0; + int leaks = 0, whitelisted = 0; for (hdr = first_header.next; hdr != NULL; hdr = hdr->next) { - if (!is_whitelisted(hdr->stack_frames, hdr->stack_frame_count)) + if (is_whitelisted(hdr->stack_frames, hdr->stack_frame_count)) + { + whitelisted++; + } + else { fprintf(stderr, "Leak (%d bytes at %p):\n", hdr->bytes, hdr + 1); /* skip the first frame, contains leak detective logic */ @@ -281,15 +286,16 @@ void report_leaks() switch (leaks) { case 0: - fprintf(stderr, "No leaks detected\n"); + fprintf(stderr, "No leaks detected"); break; case 1: - fprintf(stderr, "One leak detected\n"); + fprintf(stderr, "One leak detected"); break; default: - fprintf(stderr, "%d leaks detected\n", leaks); + fprintf(stderr, "%d leaks detected", leaks); break; } + fprintf(stderr, ", %d suppressed by whitelist\n", whitelisted); } /** |