diff options
-rw-r--r-- | src/H5Dseq.c | 2 | ||||
-rw-r--r-- | src/H5FL.c | 6 | ||||
-rw-r--r-- | src/H5Fseq.c | 2 | ||||
-rw-r--r-- | src/H5Shyper.c | 2 | ||||
-rw-r--r-- | src/H5Smpio.c | 2 | ||||
-rw-r--r-- | src/H5Sselect.c | 11 |
6 files changed, 24 insertions, 1 deletions
diff --git a/src/H5Dseq.c b/src/H5Dseq.c index 105d5da..6176003 100644 --- a/src/H5Dseq.c +++ b/src/H5Dseq.c @@ -71,6 +71,7 @@ H5F_seq_read(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout, assert(f); assert(layout); assert(buf); + assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER)); if (H5F_seq_readv(f, dxpl_id, layout, dc_plist, file_space, elmt_size, 1, &seq_len, &dset_offset, buf)<0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "vector read failed"); @@ -115,6 +116,7 @@ H5F_seq_write(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout, assert(f); assert(layout); assert(buf); + assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER)); if (H5F_seq_writev(f, dxpl_id, layout, dc_plist, file_space, elmt_size, 1, &seq_len, &dset_offset, buf)<0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "vector write failed"); @@ -1176,6 +1176,9 @@ H5FL_arr_alloc(H5FL_arr_head_t *head, size_t elem, unsigned clear) /* Check if there is a maximum number of elements in array */ if(head->maxelem>0) { + /* Sanity check that the number of elements is supported */ + assert((int)elem<=head->maxelem); + /* Check for nodes available on the free list first */ if(head->u.list_arr[elem]!=NULL) { /* Get a pointer to the block on the free list */ @@ -1260,6 +1263,9 @@ H5FL_arr_realloc(H5FL_arr_head_t *head, void * obj, size_t new_elem) else { /* Check if there is a maximum number of elements in array */ if(head->maxelem>0) { + /* Sanity check that the number of elements is supported */ + assert((int)new_elem<=head->maxelem); + /* Get the pointer to the info header in front of the block to free */ temp=(H5FL_arr_node_t *)((unsigned char *)obj-sizeof(H5FL_arr_node_t)); diff --git a/src/H5Fseq.c b/src/H5Fseq.c index 105d5da..6176003 100644 --- a/src/H5Fseq.c +++ b/src/H5Fseq.c @@ -71,6 +71,7 @@ H5F_seq_read(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout, assert(f); assert(layout); assert(buf); + assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER)); if (H5F_seq_readv(f, dxpl_id, layout, dc_plist, file_space, elmt_size, 1, &seq_len, &dset_offset, buf)<0) HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "vector read failed"); @@ -115,6 +116,7 @@ H5F_seq_write(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout, assert(f); assert(layout); assert(buf); + assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER)); if (H5F_seq_writev(f, dxpl_id, layout, dc_plist, file_space, elmt_size, 1, &seq_len, &dset_offset, buf)<0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "vector write failed"); diff --git a/src/H5Shyper.c b/src/H5Shyper.c index ad5c53a..3eec64e 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -146,6 +146,8 @@ H5S_hyper_iter_init (const H5S_t *space, size_t elmt_size, H5S_sel_iter_t *sel_i for(u=space->extent.u.simple.rank-1; u>0; u--) { if(tdiminfo[u].count==1 && tdiminfo[u].block==mem_size[u]) cont_dim=u; + else + break; } /* end for */ /* Check if the regular selection can be "flattened" */ diff --git a/src/H5Smpio.c b/src/H5Smpio.c index e72a953..c4996a4 100644 --- a/src/H5Smpio.c +++ b/src/H5Smpio.c @@ -1033,7 +1033,7 @@ H5S_mpio_opt_possible( const H5S_t *mem_space, const H5S_t *file_space, const un htri_t c1,c2; /* Flags whether a selection is optimizable */ htri_t ret_value=TRUE; - FUNC_ENTER_NOAPI(H5S_all_opt_possible, FAIL); + FUNC_ENTER_NOAPI(H5S_mpio_opt_possible, FAIL); /* Check args */ assert(mem_space); diff --git a/src/H5Sselect.c b/src/H5Sselect.c index fca9132..0fb429e 100644 --- a/src/H5Sselect.c +++ b/src/H5Sselect.c @@ -803,6 +803,7 @@ H5S_select_fscat (H5F_t *f, struct H5O_layout_t *layout, assert (iter); assert (nelmts>0); assert (_buf); + assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER)); /* Get the hyperslab vector size */ if(NULL == (dx_plist = H5P_object_verify(dxpl_id,H5P_DATASET_XFER))) @@ -1165,6 +1166,11 @@ H5S_select_read(H5F_t *f, const H5O_layout_t *layout, H5P_genplist_t *dc_plist, FUNC_ENTER_NOAPI(H5S_select_read, FAIL); + /* Check args */ + assert(f); + assert(_buf); + assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER)); + /* Get the hyperslab vector size */ if(NULL == (dx_plist = H5P_object_verify(dxpl_id,H5P_DATASET_XFER))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset transfer property list"); @@ -1395,6 +1401,11 @@ H5S_select_write(H5F_t *f, H5O_layout_t *layout, H5P_genplist_t *dc_plist, FUNC_ENTER_NOAPI(H5S_select_write, FAIL); + /* Check args */ + assert(f); + assert(_buf); + assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER)); + /* Get the hyperslab vector size */ if(NULL == (dx_plist = H5P_object_verify(dxpl_id,H5P_DATASET_XFER))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset transfer property list"); |