From fc78e01d1534d26d1badc77286e185059e85fba9 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Fri, 4 Mar 2005 16:19:28 -0500 Subject: [svn-r10145] Purpose: Bug fix Description: Add some "safety net" sort of assertions and sanity checks contributed by user. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest --- src/H5B.c | 1 + src/H5Distore.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/H5B.c b/src/H5B.c index 5d8573e..525e12e 100644 --- a/src/H5B.c +++ b/src/H5B.c @@ -532,6 +532,7 @@ H5B_dest(H5F_t UNUSED *f, H5B_t *bt) * Check arguments. */ assert(bt); + assert(bt->rc_shared); H5FL_SEQ_FREE(haddr_t,bt->child); H5FL_BLK_FREE(native_block,bt->native); diff --git a/src/H5Distore.c b/src/H5Distore.c index 49b7947..661ab2d 100644 --- a/src/H5Distore.c +++ b/src/H5Distore.c @@ -1252,6 +1252,8 @@ H5D_istore_dest (H5D_t *dset, hid_t dxpl_id) HDmemset (rdcc, 0, sizeof(H5D_rdcc_t)); /* Free the raw B-tree node buffer */ + if(dset->shared->layout.u.chunk.btree_shared==NULL) + HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil") if(H5RC_DEC(dset->shared->layout.u.chunk.btree_shared)<0) HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") @@ -3232,6 +3234,8 @@ H5D_istore_delete(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout) HGOTO_ERROR(H5E_IO, H5E_CANTDELETE, 0, "unable to delete chunk B-tree") /* Free the raw B-tree node buffer */ + if(tmp_layout.u.chunk.btree_shared==NULL) + HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil") if(H5RC_DEC(tmp_layout.u.chunk.btree_shared)<0) HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") } /* end if */ @@ -3484,6 +3488,8 @@ H5D_istore_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int inden (void)H5B_debug (f, dxpl_id, addr, stream, indent, fwidth, H5B_ISTORE, &udata); /* Free the raw B-tree node buffer */ + if(layout.u.chunk.btree_shared==NULL) + HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil") if(H5RC_DEC(layout.u.chunk.btree_shared)<0) HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") -- cgit v0.12