summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2007-08-21 05:04:02 +0000
committerWayne Davison <wayned@samba.org>2007-08-21 05:04:02 +0000
commit65a22a5ff70d95bbcb04f8c1dcae3eb1ca784282 (patch)
treed22d8074a74066c982df30c9c8bc98649f1ec7e7 /lib
parenta0f70237f557be9d4208e677c49d8fc99328c592 (diff)
downloadrsync-65a22a5ff70d95bbcb04f8c1dcae3eb1ca784282.tar.gz
rsync-65a22a5ff70d95bbcb04f8c1dcae3eb1ca784282.tar.bz2
rsync-65a22a5ff70d95bbcb04f8c1dcae3eb1ca784282.zip
In pool_free_old(), one code path was not clearing a "next" pointer,
so the code could try to free an extent twice in certain circumstances.
Diffstat (limited to 'lib')
-rw-r--r--lib/pool_alloc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/pool_alloc.c b/lib/pool_alloc.c
index e1ce50b3..0fb31225 100644
--- a/lib/pool_alloc.c
+++ b/lib/pool_alloc.c
@@ -255,6 +255,7 @@ pool_free_old(alloc_pool_t p, void *addr)
cur->free -= skew;
}
next = cur->next;
+ cur->next = NULL;
}
} else {
next = cur->next;