summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2000-11-07 00:27:03 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2000-11-07 00:27:03 (GMT)
commit3293e213ce4d4b3dfce23972fc1996cdfb19f584 (patch)
treec001e4f6e1212850dbcbc50b672c8508324c8b82
parentfd36aa4b6700c1a452d8bfd1d48148767f7a7e37 (diff)
downloadhdf5-3293e213ce4d4b3dfce23972fc1996cdfb19f584.zip
hdf5-3293e213ce4d4b3dfce23972fc1996cdfb19f584.tar.gz
hdf5-3293e213ce4d4b3dfce23972fc1996cdfb19f584.tar.bz2
[svn-r2804] Purpose:
Bug Fix Description: Selections in 1-D dataspaces would get into an infinite loop in H5S_hyper_select_iterate_mem_opt (called by H5Diterate and H5Dget_vlen_buf_size) due to some incorrect logic. Solution: Handled 1-D cases correctly and get out of loop. Platforms tested: Eyeballed...
-rw-r--r--src/H5Shyper.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c
index a9c247f..94bf5d6 100644
--- a/src/H5Shyper.c
+++ b/src/H5Shyper.c
@@ -5221,6 +5221,10 @@ H5S_hyper_select_iterate_mem_opt(H5S_sel_iter_t UNUSED *iter, void *buf, hid_t t
tmp_count[fast_dim]--;
} /* end while */
+ /* Check for getting out of iterator, we're done in the 1-D case */
+ if(ndims==1)
+ goto done; /* Yes, an evil goto.. :-) -QAK */
+
/* Work on other dimensions if necessary */
if(fast_dim>0 && user_ret==0) {
/* Reset the sequence and block counts */