Merge pull request #623 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop

* commit 'f4e9bc21fa3d3d678ca80083dbd412b34c3ab91b':
  HDFFV-10256 add release note
  HDFFV-10256 Add test
  HDFFV-10256 correct len of string copy to the len of esc string
This commit is contained in:
Allen Byrne 2017-08-01 15:45:40 -05:00
commit 6f9db7ed26
7 changed files with 48 additions and 4 deletions

View File

@ -2092,6 +2092,8 @@
./tools/testfiles/tdset2.h5.xml
./tools/testfiles/tempty.h5.xml
./tools/testfiles/tenum.h5.xml
./tools/testfiles/test35.nc
./tools/testfiles/test35.nc.xml
./tools/testfiles/tfpformat.h5.xml
./tools/testfiles/tgroup.h5.xml
./tools/testfiles/thlink.h5.xml

View File

@ -147,6 +147,16 @@ Bug Fixes since HDF5-1.10.1 release
Tools
-----
- h5dump
h5dump segfaulted on output of XML file.
Function that escape'd strings used the full buffer length
instead of just the length of the replacement string in a
strncpy call. Using the correct length fixed the issue.
(ADB - 2017/08/01, HDFFV-10256)
- h5diff
h5diff segfaulted on compare of a NULL variable length string.

View File

@ -780,20 +780,20 @@ xml_escape_the_string(const char *str, int slen)
esc_len = 1;
}
else if (*cp == '\'') {
HDstrncpy(ncp, apos, ncp_len);
esc_len = HDstrlen(apos);
HDstrncpy(ncp, apos, esc_len);
}
else if (*cp == '<') {
HDstrncpy(ncp, lt, ncp_len);
esc_len = HDstrlen(lt);
HDstrncpy(ncp, lt, esc_len);
}
else if (*cp == '>') {
HDstrncpy(ncp, gt, ncp_len);
esc_len = HDstrlen(gt);
HDstrncpy(ncp, gt, esc_len);
}
else if (*cp == '&') {
HDstrncpy(ncp, amp, ncp_len);
esc_len = HDstrlen(amp);
HDstrncpy(ncp, amp, esc_len);
}
else {
*ncp = *cp;

View File

@ -50,6 +50,7 @@
${HDF5_TOOLS_DIR}/testfiles/tname-quot.h5
${HDF5_TOOLS_DIR}/testfiles/tname-sp.h5
${HDF5_TOOLS_DIR}/testfiles/tnamed_dtype_attr.h5
${HDF5_TOOLS_DIR}/testfiles/test35.nc
${HDF5_TOOLS_DIR}/testfiles/tnestedcomp.h5
${HDF5_TOOLS_DIR}/testfiles/tnodata.h5
${HDF5_TOOLS_DIR}/testfiles/tobjref.h5
@ -99,6 +100,7 @@
${HDF5_TOOLS_DIR}/testfiles/tempty-ns.h5.xml
${HDF5_TOOLS_DIR}/testfiles/tempty-ns-2.h5.xml
${HDF5_TOOLS_DIR}/testfiles/tenum.h5.xml
${HDF5_TOOLS_DIR}/testfiles/test35.nc.xml
${HDF5_TOOLS_DIR}/testfiles/textlink.h5.xml
${HDF5_TOOLS_DIR}/testfiles/tfpformat.h5.xml
${HDF5_TOOLS_DIR}/testfiles/tgroup.h5.xml
@ -258,6 +260,8 @@
tempty.h5.out.err
tenum.h5.out
tenum.h5.out.err
test35.nc.out
test35.nc.out.err
textlink.h5.out
textlink.h5.out.err
tfpformat.h5.out
@ -430,3 +434,6 @@
# tests for floating point user defined printf format
ADD_XML_H5_TEST (tfpformat.h5 0 -u -m %.7f tfpformat.h5)
# test for HDFFV-10256 issue
ADD_XML_H5_TEST (test35.nc 0 test35.nc)

View File

@ -80,6 +80,7 @@ $SRC_H5DUMP_TESTFILES/tdset.h5
$SRC_H5DUMP_TESTFILES/tdset2.h5
$SRC_H5DUMP_TESTFILES/tempty.h5
$SRC_H5DUMP_TESTFILES/tenum.h5
$SRC_H5DUMP_TESTFILES/test35.nc
$SRC_H5DUMP_TESTFILES/textlink.h5
$SRC_H5DUMP_TESTFILES/tfpformat.h5
$SRC_H5DUMP_TESTFILES/tgroup.h5
@ -144,6 +145,7 @@ $SRC_H5DUMP_TESTFILES/tempty-nons-uri.h5.xml
$SRC_H5DUMP_TESTFILES/tempty-ns.h5.xml
$SRC_H5DUMP_TESTFILES/tempty-ns-2.h5.xml
$SRC_H5DUMP_TESTFILES/tenum.h5.xml
$SRC_H5DUMP_TESTFILES/test35.nc.xml
$SRC_H5DUMP_TESTFILES/textlink.h5.xml
$SRC_H5DUMP_TESTFILES/tfpformat.h5.xml
$SRC_H5DUMP_TESTFILES/tgroup.h5.xml
@ -383,6 +385,9 @@ TOOLTEST torderattr4.h5.xml --xml -H --sort_by=creation_order --sort_order=desce
# tests for floating point user defined printf format
TOOLTEST tfpformat.h5.xml -u -m %.7f tfpformat.h5
# test for HDFFV-10256 issue
TOOLTEST test35.nc --xml test35.nc
# Clean up temporary files/directories
CLEAN_TESTFILES_AND_TESTDIR

BIN
tools/testfiles/test35.nc Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long