summaryrefslogtreecommitdiffstats
path: root/src/H5Shyper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r--src/H5Shyper.c9
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() */