(Richard B mailed me this fix in June and I never got round to
committing it. Oops.)
git-svn-id: svn://svn.tartarus.org/sgt/library@6280
cda61777-01e9-0310-a592-
d414129be87e
* Allocate one extra element of space, to use for swapping
* things.
*/
* Allocate one extra element of space, to use for swapping
* things.
*/
- bh->elts = malloc(maxelts * (eltsize+1));
+ bh->elts = malloc((maxelts + 1) * eltsize);
if (!bh->elts)
return NULL;
if (!bh->elts)
return NULL;
{
coverage = checked_coverage = 0;
{
coverage = checked_coverage = 0;
+ /* Regression test - this used to report access violations when run under
+ * valgrind. */
+ bh = bheap_new(2, sizeof(int), +1, intcmp, &intcmp_ctx);
+ add(2);
+ add(1);
+ rem(1);
+ rem(2);
+ bheap_free(bh);
+
bh = bheap_new(MAX, sizeof(int), +1, intcmp, &intcmp_ctx);
/*
bh = bheap_new(MAX, sizeof(int), +1, intcmp, &intcmp_ctx);
/*