summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/util/profile/ChangeLog5
-rw-r--r--src/util/profile/prof_init.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/src/util/profile/ChangeLog b/src/util/profile/ChangeLog
index 1d5748853..719243cd4 100644
--- a/src/util/profile/ChangeLog
+++ b/src/util/profile/ChangeLog
@@ -1,3 +1,8 @@
+1999-06-23 Danilo Almeida <dalmeida@mit.edu>
+
+ * prof_init.c (profile_abandon, profile_release): Check whether
+ profile is valid before partying on it.
+
1999-06-18 Ken Raeburn <raeburn@mit.edu>
* prof_tree.c (profile_node_iterator): Remove semicolon after
diff --git a/src/util/profile/prof_init.c b/src/util/profile/prof_init.c
index ab38a6d2e..e525a37eb 100644
--- a/src/util/profile/prof_init.c
+++ b/src/util/profile/prof_init.c
@@ -139,6 +139,9 @@ profile_abandon(profile)
{
prf_file_t p, next;
+ if (!profile || profile->magic != PROF_MAGIC_PROFILE)
+ return;
+
for (p = profile->first_file; p; p = next) {
next = p->next;
profile_free_file(p);
@@ -153,6 +156,9 @@ profile_release(profile)
{
prf_file_t p, next;
+ if (!profile || profile->magic != PROF_MAGIC_PROFILE)
+ return;
+
for (p = profile->first_file; p; p = next) {
next = p->next;
profile_close_file(p);