Cleanup dynamically allocated memory before exit in tests
Cleanup dynamically allocated memory before exit in tests in a few
places where missing. While such cleanups right before exit do not
usually make much sense (as the operating system would cleanup anyway,
so manual cleanups only burn CPU cycles), we will want to catch any
potential problems in libunwind related to the cleanups. This also stops
valgrind complaining about unreleased memory.
diff --git a/tests/Gtest-bt.c b/tests/Gtest-bt.c
index 1bc3f4d..4a07c6f 100644
--- a/tests/Gtest-bt.c
+++ b/tests/Gtest-bt.c
@@ -252,5 +252,11 @@
}
if (verbose)
printf ("SUCCESS.\n");
+
+ signal (SIGTERM, SIG_DFL);
+ stk.ss_flags = SS_DISABLE;
+ sigaltstack (&stk, NULL);
+ free (stk.ss_sp);
+
return 0;
}
diff --git a/tests/Gtest-trace.c b/tests/Gtest-trace.c
index 9d43ce2..e8dd989 100644
--- a/tests/Gtest-trace.c
+++ b/tests/Gtest-trace.c
@@ -267,5 +267,11 @@
if (verbose)
printf ("SUCCESS.\n");
+
+ signal (SIGTERM, SIG_DFL);
+ stk.ss_flags = SS_DISABLE;
+ sigaltstack (&stk, NULL);
+ free (stk.ss_sp);
+
return 0;
}
diff --git a/tests/test-coredump-unwind.c b/tests/test-coredump-unwind.c
index fc784d4..d7c7954 100644
--- a/tests/test-coredump-unwind.c
+++ b/tests/test-coredump-unwind.c
@@ -389,6 +389,7 @@
}
_UCD_destroy(ui);
+ unw_destroy_addr_space(as);
return 0;
}
diff --git a/tests/test-proc-info.c b/tests/test-proc-info.c
index 3c8fdea..e97ef2b 100644
--- a/tests/test-proc-info.c
+++ b/tests/test-proc-info.c
@@ -162,6 +162,8 @@
panic ("Second call to unw_step() returned %d instead of %d\n",
ret, -UNW_ESTOPUNWIND);
+ unw_destroy_addr_space (as);
+
if (verbose)
printf ("SUCCESS\n");
return 0;
diff --git a/tests/test-ptrace.c b/tests/test-ptrace.c
index 4708293..69e1808 100644
--- a/tests/test-ptrace.c
+++ b/tests/test-ptrace.c
@@ -341,6 +341,7 @@
}
_UPT_destroy (ui);
+ unw_destroy_addr_space (as);
if (nerrors)
{