From f9835e10193f036b50b03edd875d98e9aa11af23 Mon Sep 17 00:00:00 2001 From: Scott Wegner Date: Mon, 12 May 2008 13:01:38 -0500 Subject: [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 --- src/H5Gname.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 */ -- cgit v0.12