summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--egg/egg-secure-memory.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ff7c5130..0c8248f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,10 @@
* egg/egg-secure-memory.c:
* egg/egg-secure-memory.h: Add validator which walks the
secure memory heap and checks for inconsistencies.
+
+ * egg/egg-secure-memory.c: Fix problem where freed memory
+ is not inserted into the unused ring properly. This caused
+ enless loops. Should fix bug #575247
2009-03-20 Stef Walter <stef@memberwebs.com>
diff --git a/egg/egg-secure-memory.c b/egg/egg-secure-memory.c
index a2153645..ba0cf5ce 100644
--- a/egg/egg-secure-memory.c
+++ b/egg/egg-secure-memory.c
@@ -341,7 +341,7 @@ sec_insert_cell_ring (Cell **ring, Cell *cell)
/* Insert back into the mix of available memory */
if (*ring) {
cell->next = (*ring)->next;
- cell->prev = (*ring)->prev;
+ cell->prev = *ring;
cell->next->prev = cell;
cell->prev->next = cell;
} else {