diff options
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r-- | src/H5Shyper.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c index 50704bd..8227c87 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -2844,6 +2844,10 @@ H5S_hyper_select_deserialize (H5S_t *space, const uint8_t *buf) } /* end if */ } /* end for */ + /* Free temporary buffers */ + H5MM_xfree(start); + H5MM_xfree(count); + done: FUNC_LEAVE (ret_value); } /* H5S_hyper_select_deserialize() */ @@ -3160,9 +3164,11 @@ H5S_hyper_select_iterate(void *buf, hid_t type_id, H5S_t *space, H5D_operator_t iter_info.src=buf; iter_info.lo_bounds=lo_bounds; iter_info.hi_bounds=hi_bounds; + /* Set up the size of the memory space */ HDmemcpy(iter_info.mem_size, space->extent.u.simple.size, space->extent.u.simple.rank*sizeof(hsize_t)); iter_info.mem_size[space->extent.u.simple.rank]=iter_info.elem_size; + /* Copy the location of the region in the file */ iter_info.op=operator; iter_info.op_data=operator_data; @@ -3175,6 +3181,9 @@ H5S_hyper_select_iterate(void *buf, hid_t type_id, H5S_t *space, H5D_operator_t H5MM_xfree(lo_bounds); H5MM_xfree(hi_bounds); + /* Release selection iterator */ + H5S_sel_iter_release(space,&iter); + done: FUNC_LEAVE (ret_value); } /* H5S_hyper_select_iterate() */ |