From 132601ba46b34da9d55586ec8cf324f5d5030d2f Mon Sep 17 00:00:00 2001 From: Neil Fortner Date: Thu, 16 Jan 2014 16:31:26 -0500 Subject: [svn-r24635] Change some range check assertions to errors in H5HF_man_remove in an attempt to aid in diagnosing issue HDFFV-8647. Tested: ummon --- src/H5HFman.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/H5HFman.c b/src/H5HFman.c index b43356f..23afb5e 100644 --- a/src/H5HFman.c +++ b/src/H5HFman.c @@ -554,12 +554,14 @@ H5HF_man_remove(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id) /* Decode the object offset within the heap & it's length */ UINT64DECODE_VAR(id, obj_off, hdr->heap_off_size); UINT64DECODE_VAR(id, obj_len, hdr->heap_len_size); - HDassert(obj_off > 0); - HDassert(obj_len > 0); /* Check for bad offset or length */ + if(obj_off == 0) + HGOTO_ERROR(H5E_HEAP, H5E_BADRANGE, FAIL, "invalid fractal heap offset") if(obj_off > hdr->man_size) HGOTO_ERROR(H5E_HEAP, H5E_BADRANGE, FAIL, "fractal heap object offset too large") + if(obj_len == 0) + HGOTO_ERROR(H5E_HEAP, H5E_BADRANGE, FAIL, "invalid fractal heap object size") if(obj_len > hdr->man_dtable.cparam.max_direct_size) HGOTO_ERROR(H5E_HEAP, H5E_BADRANGE, FAIL, "fractal heap object size too large for direct block") if(obj_len > hdr->max_man_size) -- cgit v0.12