diff options
author | Scott Wegner <swegner@hdfgroup.org> | 2008-05-12 18:01:38 (GMT) |
---|---|---|
committer | Scott Wegner <swegner@hdfgroup.org> | 2008-05-12 18:01:38 (GMT) |
commit | f9835e10193f036b50b03edd875d98e9aa11af23 (patch) | |
tree | 04496e8ac24a20bac9f00b11fa0f08315ceb562f | |
parent | 90205aa02c636e2ae3bf1405d6b18a5106711524 (diff) | |
download | hdf5-f9835e10193f036b50b03edd875d98e9aa11af23.zip hdf5-f9835e10193f036b50b03edd875d98e9aa11af23.tar.gz hdf5-f9835e10193f036b50b03edd875d98e9aa11af23.tar.bz2 |
[svn-r14973] Purpose: Fix bug in H5G_get_name_by_addr where buffer size is less than size of name
Description:
In the new tests merged from the fortran_1_8 branch, there is a test that fetches a dataset name in a small buffer. The call to H5G_get_name_by_addr wrote an extra byte off the end of the buffer. A simple and sufficient fix is to decrease the buffer size passed to strncmp by 1. This bug was only caught by Visual Studio 2005 with extra debug checks on.
Tested:
VS2005 on WinXP
kagiso
-rw-r--r-- | src/H5Gname.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/H5Gname.c b/src/H5Gname.c index bde9e23..f5db1d0 100644 --- a/src/H5Gname.c +++ b/src/H5Gname.c @@ -1162,7 +1162,7 @@ H5G_get_name_by_addr(hid_t file, hid_t lapl_id, hid_t dxpl_id, const H5O_loc_t * /* Append the rest of the path */ /* (less one character, for the initial path separator) */ - HDstrncat(name, udata.path, (size - 1)); + HDstrncat(name, udata.path, (size - 2)); if((size_t)ret_value >= size) name[size - 1] = '\0'; } /* end if */ |