summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2001-11-12 20:03:30 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2001-11-12 20:03:30 (GMT)
commit164b8083f0cb3bdcc90d0aceb6ae63c58355c0b8 (patch)
tree95bb08b788b6033cf9470d5e30cc9c4dbdd6a3cd
parentc5c9b991e77fe1762db9f4fa0b6613b658b741a2 (diff)
downloadhdf5-164b8083f0cb3bdcc90d0aceb6ae63c58355c0b8.zip
hdf5-164b8083f0cb3bdcc90d0aceb6ae63c58355c0b8.tar.gz
hdf5-164b8083f0cb3bdcc90d0aceb6ae63c58355c0b8.tar.bz2
[svn-r4600] Purpose:
Bug fix. Description: The internal B-tree code was dumping core with an assertion failure when flushing data to the file if too many objects were put into the same B-tree (forcing the root node to split, I think). Solution: Fixed the B-tree copy routine to copy the correct number of raw keys. Platforms tested: FreeBSD 4.4 (hawkwind), Solaris 2.6 (baldric)
-rw-r--r--src/H5B.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/H5B.c b/src/H5B.c
index dd8e388..5a6d2f3 100644
--- a/src/H5B.c
+++ b/src/H5B.c
@@ -2139,7 +2139,7 @@ H5B_copy(H5F_t *f, const H5B_t *old_bt)
* Translate the keys from pointers into the old 'page' buffer into
* pointers into the new 'page' buffer.
*/
- for (u = 0; u < nkeys; u++)
+ for (u = 0; u < (nkeys+1); u++)
ret_value->key[u].rkey = (old_bt->key[u].rkey - old_bt->page) + ret_value->page;
done: