diff options
author | stefw <stefw@localhost> | 2009-04-02 03:30:07 +0000 |
---|---|---|
committer | stefw <stefw@localhost> | 2009-04-02 03:30:07 +0000 |
commit | af0a2846fa83c7b07b843aea12ec194c4eb30860 (patch) | |
tree | a694fcfafae86d6de175339ea1fcef9070f11161 | |
parent | 3006b0e48c276cecc32728f5ebfa525959a9078e (diff) | |
download | gnome-keyring-af0a2846fa83c7b07b843aea12ec194c4eb30860.tar.gz |
Fix problem where freed memory is not inserted into the unused ring properly.
This caused enless loops. Should fix bug #575247
svn path=/trunk/; revision=1708
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | egg/egg-secure-memory.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -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 { |