diff options
author | Larry Knox <lrknox@hdfgroup.org> | 2021-04-02 11:05:53 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-02 11:05:53 (GMT) |
commit | 5f72e0bad81cc10f23c2200bd7d44413389279cd (patch) | |
tree | e11774f74685819408f1af6b9809b59f7a462302 /tools | |
parent | 87d18137ceed7eae1ca7009dda6f4cf2841ff195 (diff) | |
download | hdf5-5f72e0bad81cc10f23c2200bd7d44413389279cd.zip hdf5-5f72e0bad81cc10f23c2200bd7d44413389279cd.tar.gz hdf5-5f72e0bad81cc10f23c2200bd7d44413389279cd.tar.bz2 |
Hdf5 merge issue 488 v110 (#535)
* close #195. (#196)
* Update HDF5PluginMacros.cmake
* Update HDF5PluginMacros.cmake
* Modify temporary rpath for testing in java example scripts. (#230)
* Fix undefined left shifting of negative numbers (#338)
Undefined Bahavior Sanitizer errored here about left shifting negative numbers.
* Update license url (#332)
* Modify temporary rpath for testing in java example scripts.
* Update URL in source file Copyright headers for web copy of COPYING
file - src and test directories.
* Cleans up a couple of MSVC warnings in testhdf5 (#475)
* Fixes a few testhdf5 warnings raised in Visual Studio
Visual Studio is grumpier about treating pointers like integers than
gcc.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fix typos and grammar errors. (#476)
* Suppresses the tcheck_version test's abort dialog on Windows (#477)
* Suppresses the tcheck_version test's abort dialog on Windows
Windows raises a modal abort/retry/ignore dialog box when CRT
calls abort(). This change installs a report hook that suppresses
the dialog so that the CMake tests don't time out waiting for a
nonexistent user to click a dialog box.
* Committing clang-format changes
* Removes __cdecl from callback
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Purge the buffer used in type conversion. (#263)
Some of the uniniitialized bits in the buffer may get carried through
all the way to disk, creating a risk for leaks.
We observed an msan error during the floating point output conversion.
Due to the encoding certain bits could remain untouched during the conversion.
In this draft we zero initialize the dbuf used by every convertor.
* Fixed HDFFV-10480 (CVE-2018-11206) and HDFFV-11159 (CVE-2018-14033) (#405)
* Fixed HDFFV-10480 (CVE-2018-11206) and HDFFV-11159 (CVE-2018-14033)
Description
Checked against buffer size to prevent segfault, in case of data corruption.
+ HDFFV-11159 CVE-2018-14033 Buffer over-read in H5O_layout_decode
+ HDFFV-10480 CVE-2018-11206 Buffer over-read in H5O_fill_new[/old]_decode
Platforms tested:
Linux/64 (jelly)
* Accidentally left in another occurrence of the previous patch from user
after a more correct fix was applied, that is the check now accounted
for the previous advance of the buffer pointer. Removed it.
* Typo
* Fixed format issues.
* Added test.
* Changed arguments to ADD_H5_TEST
* Fixing arguments to ADD_H5_TEST again.
* Fixing arguments again.
* Took out the CMake changes until Allen can help.
* Added files:
tCVE_2018_11206_fill_old.h5
tCVE_2018_11206_fill_new.h5
* Revert "Took out the CMake changes until Allen can help."
This reverts commit c21324d6e0044994c5cd24b0671e7d1dd41096cc.
* Revert "Fixing arguments again."
This reverts commit 5832a70674339e4b524749adde5a181f8c3a446a.
* Revert "Fixing arguments to ADD_H5_TEST again."
This reverts commit b45de823c22ce83a388d46466ef7c04b66ff05ed.
* Revert "Changed arguments to ADD_H5_TEST"
This reverts commit 16719824f57e52158451ddd261788c0dcaa3ec55.
* Added first argument to ADD_H5_TEST for HDFFV-10480 fix.
* Changed argument 0 to 1
* Revert "Changed argument 0 to 1"
This reverts commit b343d6613ba681b43248dd5820e96389984ebcf7.
* Revert "Added first argument to ADD_H5_TEST for HDFFV-10480 fix."
This reverts commit b8a0f9a9e8ec8e6c6ff38d33195d63edff76a563.
* Added first argument and corrected the second.
* Updated fixes for HDFFV-10480 and HDFFV-11159/HDFFV-11049
* Improved error messages.
* Added description of the current HDF5 branches; added a draft of contribution policy. (#445)
* Added description of the current HDF5 branches.
* Removed capitalization in from Develop, Release, Feature to reflect the real naming schema
* Added a draft of contributions guidance document.
* Fixed typos.
* Fixed section title.
* Fixed typo.
* Fixed typos and formatting.
* Fixed many typos and simplified the text (e.g., removed testing instructions and left pointers to where to find them, etc.)
* Fixed a typo.
Please enter the commit message for your changes. Lines starting
* Added contributing.md file and rearranged doc entries in alphabetical order.
* ddressed Gerd's review comments; found and fixed more typos.
* Addressed comments from Larry and Scot.
* Fix CMake error message location. (#478)
Print error message if Perl is not found.
* Committing clang-format changes
* Update MANIFEST.
Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org>
Co-authored-by: Sean McBride <sean@rogue-research.com>
Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yu Feng <rainwoodman@gmail.com>
Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com>
Co-authored-by: epourmal <epourmal@hdfgroup.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/test/h5dump/CMakeTests.cmake | 6 | ||||
-rw-r--r-- | tools/test/h5dump/testh5dump.sh.in | 35 | ||||
-rw-r--r-- | tools/testfiles/tCVE_2018_11206_fill_new.h5 | bin | 0 -> 1752 bytes | |||
-rw-r--r-- | tools/testfiles/tCVE_2018_11206_fill_old.h5 | bin | 0 -> 2560 bytes |
4 files changed, 41 insertions, 0 deletions
diff --git a/tools/test/h5dump/CMakeTests.cmake b/tools/test/h5dump/CMakeTests.cmake index 54439b8..bdbf907 100644 --- a/tools/test/h5dump/CMakeTests.cmake +++ b/tools/test/h5dump/CMakeTests.cmake @@ -319,6 +319,8 @@ ${HDF5_TOOLS_DIR}/testfiles/tvlstr.h5 ${HDF5_TOOLS_DIR}/testfiles/tvms.h5 ${HDF5_TOOLS_DIR}/testfiles/t128bit_float.h5 + ${HDF5_TOOLS_DIR}/testfiles/tCVE_2018_11206_fill_old.h5 + ${HDF5_TOOLS_DIR}/testfiles/tCVE_2018_11206_fill_new.h5 ${HDF5_TOOLS_DIR}/testfiles/zerodim.h5 ) set (HDF5_ERROR_REFERENCE_TEST_FILES @@ -1131,6 +1133,10 @@ # test to verify HDFFV-9407: long double full precision # ADD_H5_GREP_TEST (t128bit_float 1 "1.123456789012345" -m %.35Lg t128bit_float.h5) + # test to verify HDFFV-10480: out of bounds read in H5O_fill_new[old]_decode + ADD_H5_TEST (tCVE_2018_11206_fill_old 1 tCVE_2018_11206_fill_old.h5) + ADD_H5_TEST (tCVE_2018_11206_fill_new 1 tCVE_2018_11206_fill_new.h5) + ############################################################################## ### P L U G I N T E S T S ############################################################################## diff --git a/tools/test/h5dump/testh5dump.sh.in b/tools/test/h5dump/testh5dump.sh.in index 2104e1c..1dae8e0 100644 --- a/tools/test/h5dump/testh5dump.sh.in +++ b/tools/test/h5dump/testh5dump.sh.in @@ -177,6 +177,8 @@ $SRC_H5DUMP_TESTFILES/tvldtypes5.h5 $SRC_H5DUMP_TESTFILES/tvlenstr_array.h5 $SRC_H5DUMP_TESTFILES/tvlstr.h5 $SRC_H5DUMP_TESTFILES/tvms.h5 +$SRC_H5DUMP_TESTFILES/tCVE_2018_11206_fill_old.h5 +$SRC_H5DUMP_TESTFILES/tCVE_2018_11206_fill_new.h5 " LIST_OTHER_TEST_FILES=" @@ -861,6 +863,35 @@ TOOLTEST5() { fi } +# same as TOOLTEST1 but expects h5dump to fail +# +TOOLTEST_FAIL() { + + infile=$1 + expect="$TESTDIR/`basename $1 exp`.ddl" + actual="$TESTDIR/`basename $1 .exp`.out" + + # Run test. + TESTING $DUMPER $@ + ( + cd $TESTDIR + $RUNSERIAL $DUMPER_BIN "$@" $infile + ) >&$actual + RET=$? + # Segfault occurred + if [ $RET == 139 ] ; then + nerrors="`expr $nerrors + 1`" + echo "*FAILED - test on $infile failed with segmentation fault" + # Should fail but didn't + elif [ $RET == 0 ] ; then + nerrors="`expr $nerrors + 1`" + echo "*FAILED - test on $infile did not fail as expected" + else + echo " PASSED" + fi + +} + # ADD_HELP_TEST TOOLTEST_HELP() { @@ -1435,6 +1466,10 @@ TOOLTEST3 non_existing.ddl --enable-error-stack tgroup.h5 non_existing.h5 # test to verify HDFFV-9407: long double full precision #GREPTEST OUTTXT "1.123456789012345" t128bit_float.ddl -m %.35Lf t128bit_float.h5 +# test to verify HDFFV-10480: out of bounds read in H5O_fill_new[old]_decode +TOOLTEST_FAIL tCVE_2018_11206_fill_old.h5 +TOOLTEST_FAIL tCVE_2018_11206_fill_new.h5 + # Clean up temporary files/directories CLEAN_TESTFILES_AND_TESTDIR diff --git a/tools/testfiles/tCVE_2018_11206_fill_new.h5 b/tools/testfiles/tCVE_2018_11206_fill_new.h5 Binary files differnew file mode 100644 index 0000000..643591c --- /dev/null +++ b/tools/testfiles/tCVE_2018_11206_fill_new.h5 diff --git a/tools/testfiles/tCVE_2018_11206_fill_old.h5 b/tools/testfiles/tCVE_2018_11206_fill_old.h5 Binary files differnew file mode 100644 index 0000000..7f5b41a --- /dev/null +++ b/tools/testfiles/tCVE_2018_11206_fill_old.h5 |