r669 - trunk/varnish-cache/lib/libvarnish
phk at projects.linpro.no
phk at projects.linpro.no
Sat Aug 5 16:22:33 CEST 2006
Author: phk
Date: 2006-08-05 16:22:33 +0200 (Sat, 05 Aug 2006)
New Revision: 669
Modified:
trunk/varnish-cache/lib/libvarnish/binary_heap.c
Log:
More defensive coding.
Modified: trunk/varnish-cache/lib/libvarnish/binary_heap.c
===================================================================
--- trunk/varnish-cache/lib/libvarnish/binary_heap.c 2006-08-05 12:45:45 UTC (rev 668)
+++ trunk/varnish-cache/lib/libvarnish/binary_heap.c 2006-08-05 14:22:33 UTC (rev 669)
@@ -178,10 +178,14 @@
assert(bh->next > ROOT_IDX);
assert(idx < bh->next);
assert(idx > 0);
+ assert(bh->array[idx] != NULL);
bh->update(bh->priv, bh->array[idx], 0);
- if (idx == --bh->next)
+ if (idx == --bh->next) {
+ bh->array[bh->next] = NULL;
return;
+ }
bh->array[idx] = bh->array[bh->next];
+ bh->array[bh->next] = NULL;
binheap_update(bh, idx);
idx = binheap_trickleup(bh, idx);
binheap_trickledown(bh, idx);
More information about the varnish-commit
mailing list