summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* added doc. warning for H5Oflush in parallel (#2289)Scot Breitenfeld2022-12-101-0/+3
|
* fixed unclosed objects in test (#2290)Scot Breitenfeld2022-12-101-6/+10
|
* Check for size==0 for all datatypes read from disk, not just compound (#2287)Neil Fortner2022-12-081-9/+5
| | | members
* Compound datatypes may not have members of size 0 (#2243)Egbert Eich2022-12-072-69/+125
| | | | | | | | | | | | | | | | | | | | | | * Compound datatypes may not have members of size 0 A member size of 0 may lead to an FPE later on as reported in CVE-2021-46244. To avoid this, check for this as soon as the member is decoded. This should probably be done in H5O_dtype_decode_helper() already, however it is not clear whether all sizes are expected to be != 0. This fixes CVE-2021-46244 / Bug #2242. Signed-off-by: Egbert Eich <eich@suse.com> * Rework error recovery code in H5O__dtype_decode_helper() and H5O__dtype_decode(). * Format changes for src/H5Odtype.c. Signed-off-by: Egbert Eich <eich@suse.com> Co-authored-by: Neil Fortner <nfortne2@hdfgroup.org> Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
* Correct requires setting for pkgconfig files (#2280)Allen Byrne2022-12-076-10/+18
| | | | | * Correct requires setting for pkgconfig files * Add issue number
* Fixes warnings in H5Opline.c error messages (#2281)Dana Robinson2022-12-061-3/+5
| | | | | | | * Fixes warnings in H5Opline.c error messages * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Add text about release notes (#2246)Allen Byrne2022-12-061-10/+67
|
* Develop jni trans (#2266)Allen Byrne2022-12-0611-421/+1407
| | | | | | | | | * Add compound and refactor out atomic types * Add Array String tests back * Convert Attribute version of compound example * Update transfer atom8ic read to return object
* H5E_ERR_CLS_g symbol missing when compiling C++ plugins (#2269)V. Armando Solé2022-12-061-0/+7
| | | | C++ HDF5 filter plugin SZ3 fails to build under windows with failure at linking time unless that extern "C" block is added.
* return error message related to calling API (#2276)Scot Breitenfeld2022-12-021-2/+2
|
* CVE 2021 46242 develop (#2255)Egbert Eich2022-12-022-2/+18
| | | | | | | | | | | | | | | | | | | | | | * When evicting driver info block, NULL the corresponding entry Since H5C_expunge_entry() called (from H5AC_expunge_entry()) sets the flag H5C__FLUSH_INVALIDATE_FLAG, the driver info block will be freed. NULLing the pointer in f->shared->drvinfo will prevent use-after-free when it is used in other functions (like H5F__dest()) - as other places will check whether the pointer is initialized before using its value. This fixes CVE-2021-46242 / Bug #2254 Signed-off-by: Egbert Eich <eich@suse.com> * When evicting the superblock, NULL the corresponding entry The call to H5AC_expunge_entry() will free the corresonding structure, to avoid a use-after-free, the corrsponding pointer entry will be NULLed. Signed-off-by: Egbert Eich <eich@suse.com> Signed-off-by: Egbert Eich <eich@suse.com>
* Output should only be printed if verbose. (#2273)Allen Byrne2022-12-022-27/+42
| | | | | * Output should only be printed if verbose. * Add note
* Report error if dimensions of chunked storage in data layout < 2 (#2241)Egbert Eich2022-12-022-1/+18
| | | | | | | | | | | | | | | | For Data Layout Messages version 1 & 2 the specification state that the value stored in the data field is 1 greater than the number of dimensions in the dataspace. For version 3 this is not explicitly stated but the implementation suggests it to be the case. Thus the set value needs to be at least 2. For dimensionality < 2 an out-of-bounds access occurs as in CVE-2021-45833. This fixes CVE-2021-45833 / Bug #2240. Signed-off-by: Egbert Eich <eich@suse.com> Signed-off-by: Egbert Eich <eich@suse.com> Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
* Add aarch64 toolchain and change dump test to long opt (#2271)Allen Byrne2022-12-012-1/+18
|
* Develop fix ubuntu 22.04 openmpi install on github (#2268)Larry Knox2022-11-281-1/+1
| | | | | * Update install openmpi-bin to also install mpi-default-dev instead of libopenmpi-dev. This according to https://bugs.launchpad.net/ubuntu/+source/openmpi/+bug/1870780.
* Make sure testsuite can handle multiple dependent scripts (#2256)Egbert Eich2022-11-281-1/+8
| | | | | | | | | | | | | | | Commit afc54d75a19 to the test suite to eliminate a separate shell script did not take into account that there may be multiple dependent test scripts which resulted in the message: `/bin/sh: line 7: [: too many arguments`. when running the test suite. Beware that this new version still makes use of non-posix GNU extensions to `test`. Signed-off-by: Egbert Eich <eich@suse.com> Signed-off-by: Egbert Eich <eich@suse.com>
* Develop ubuntu 20.04 (#2267)Larry Knox2022-11-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * Use ubuntu-20.04 for github autotools parallel tests until parallel configure is fixed on ubuntu 22.04. * Remove inactive developers from CODEOWNERS. * Temporarily cat config.log for autotools build in github actions. * Try ubuntu-latest. * Attempt to cat config.log even when configure fails. * Fix syntax. * Try again * Try again * Try again. * Back to original temporary fix. * Install libopenmpi-dev with openmpi-bin, which was installed as a dependency prior to ubuntu-22.04.
* Use ubuntu-20.04 for github autotools parallel tests until parallel (#2264)Larry Knox2022-11-182-2/+2
| | | | | | * Use ubuntu-20.04 for github autotools parallel tests until parallel configure is fixed on ubuntu 22.04.
* Bug Fix: Segfault in H5CX_get_vol_wrap_ctx when H5VLwrap_register is called ↵raylu-hdf2022-11-173-2/+111
| | | | | | | | | | | | | | | | from an application (#2248) * Jira HDFFV-10881: Segfault in H5CX_get_vol_wrap_ctx when H5VLwrap_register is called from an application. A quick and simple fix to make it fail with a relevant error message. * Format changes. * Committing clang-format changes * Minor change: split one condition check into two for clarity. * Adding doxygen comment for H5VLwrap_register. * Minor change: adding a little more detail to the Doxygen comment for H5VLwrap_register.
* Simplify & fix check for szlib encoder (#2263)Ryan Schmidt2022-11-171-4/+1
| | | | | | | | | | Return the result rather than setting the exit code. "return" is a language keyword whereas "exit" is a function for which the <stdlib.h> header has to be included which it wasn't in this test, therefore the test would previously fail to identify that the encoder was enabled if "-Werror=implicit-function-declaration" was used, which it is by default with clang from Xcode 12 and later. Fixes #2262
* Remove hard-coded version text (#2260)Allen Byrne2022-11-162-3/+3
| | | | | * Remove hard-coded version text * Use macOS 11 until accum test is fixed see #2261
* Refactor JNI translate functions to a recursive switch on datatype (#2232)Allen Byrne2022-11-167-488/+914
|
* moved quad precision checks (#2252)Scot Breitenfeld2022-11-122-103/+106
| | | | | * Only check quad sizes if fortran is enabled * fixed if struct
* H5O_dtype_decode_helper: Parent of enum needs to have same size as enum ↵Egbert Eich2022-11-112-13/+28
| | | | | | | | | | | | | | itself (#2237) The size of the enumeration values is determined by the size of the parent. Functions accessing the enumeration values use the size of the enumeration to determine the size of each element and how much data to copy. Thus the size of the enumeration and its parent need to match. Check here to avoid unpleasant surprises later. This fixes CVE-2018-14031 / Bug #2236. Signed-off-by: Egbert Eich <eich@suse.com>
* Make sure info block for external links has at least 3 bytes (#2234)Egbert Eich2022-11-112-0/+15
| | | | | | | | | | | | According to the specification, the information block for external links contains 1 byte of version/flag information and two 0 terminated strings for the object linked to and the full path. Although not very useful, the minimum string length for each (with terminating 0) would be one byte. Checking this will help to avoid SEGVs triggered by bogus files. This fixes CVE-2018-16438 / Bug #2233. Signed-off-by: Egbert Eich <eich@suse.com>
* Validate location (offset) of the accumulated metadata when comparing (#2231)Egbert Eich2022-11-112-7/+24
| | | | | | | | | | | | | | | Initially, the accumulated metadata location is initialized to HADDR_UNDEF - the highest available address. Bogus input files may provide a location or size matching this value. Comparing this address against such bogus values may provide false positives. This make sure, the value has been initilized or fail the comparison early and let other parts of the code deal with the bogus address/size. Note: To avoid unnecessary checks, we have assumed that if the 'dirty' member in the same structure is true the location is valid. This fixes CVE-2018-13867 / Bug #2230. Signed-off-by: Egbert Eich <eich@suse.com>
* Make H5O__fsinfo_decode() more resilient to out-of-bound reads. (#2229)Egbert Eich2022-11-112-3/+26
| | | | | | | | | | | | | | | | When decoding a file space info message in H5O__fsinfo_decode() make sure each element to be decoded is still within the message. Malformed hdf5 files may have trunkated content which does not match the expected size. Checking this will prevent attempting to decode unrelated data and heap overflows. So far, only free space manager address data was checked before decoding. This fixes CVE-2021-45830 / Bug #2228. Signed-off-by: Egbert Eich <eich@suse.com> Additions Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
* H5IMget_image_info(): Make sure to not exceed local array size (#2227)Egbert Eich2022-11-112-2/+14
| | | | | | | | | | | | | Malformed hdf5 files may provide more dimensions than the array dim[] in H5IMget_image_info() is able to hold. Check number of elements first by calling H5Sget_simple_extent_dims() with NULL for both 'dims' and 'maxdims' arguments. This will cause the function to return only the number of dimensions. The fix addresse a stack overflow on write. This fixes CVE-2018-17439 / HDFFV-10589 / Bug #2226. Signed-off-by: Egbert Eich <eich@suse.com> Signed-off-by: Egbert Eich <eich@suse.com>
* removed uninterpretable line (#2249)Scot Breitenfeld2022-11-111-1/+1
|
* Adds a release note for PR #2210 (CVE-2019-8396) (#2247)Dana Robinson2022-11-101-0/+11
| | | | | * Adds a release note for PR #2210 (CVE-2019-8396) * Capitalization issue fixed
* Removes MPE instrumentation support. (#2245)Dana Robinson2022-11-0911-217/+23
| | | | | | | | | | | * Removes MPE instrumentation support. The Autotools will no longer accept --with-mpe= and the logging commands have been removed from the FUNC_ENTER macros. CMake has never supported instrumenting for MPE. * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* H5O__pline_decode() Make more resilient to out-of-bounds read (#2210)Egbert Eich2022-11-092-2/+18
| | | | | | | | | | | | | Malformed hdf5 files may have trunkated content which does not match the expected size. When this function attempts to decode these it may read past the end of the allocated space leading to heap overflows as bounds checking is incomplete. Make sure each element is within bounds before reading. This fixes CVE-2019-8396 / HDFFV-10712 / github bug #2209. Signed-off-by: Egbert Eich <eich@suse.com> Signed-off-by: Egbert Eich <eich@suse.com>
* Moved the contributing.md document to the project root (#2244)Dana Robinson2022-11-091-0/+0
|
* Removes dmalloc support (#2239)Dana Robinson2022-11-097-101/+13
| | | | | | | | | | This has not been used to debug the library in a very long time. Most developers use valgrind, -fsanitize=address, or some other memory checker instead of this library. This removes: * dmalloc.h include from H5private.h * --with-dmalloc= Autotools configure option * HDF5_ENABLE_USING_DMALLOC CMake option
* Multidataset RFC updates (#2238)Gerd Heber2022-11-091-1/+1
|
* Bug fix: the previous checkin only supported the native connector (#2211)raylu-hdf2022-11-051-5/+21
| | | | | | | * Bug fix: make sure the test case supports the pass_through connector. * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Removes the memory allocation sanity checks feature (#2218)Dana Robinson2022-11-0318-654/+63
| | | | | | | | | | | | | | | * Removes the memory allocation sanity checks feature * Committing clang-format changes * Removes zero size checks for H5MM_(c|m)alloc() * Explicitly return NULL when size == 0 in H5allocate_memory() * Committing clang-format changes * Format fix Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* correct H5Ropen_object_reference (#2212)Scot Breitenfeld2022-11-031-1/+1
|
* Fixed a Doxygen param in H5EScancel (#2213)Dana Robinson2022-11-031-1/+1
|
* Use ctest_test and APPEND to correctly report passed and failed test numbers ↵Larry Knox2022-11-0213-43/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in CDash (#2208) * Change how HPC tests are executed * Move ctest_test commands for serial and parallel tests into cmake files. * Update checks for uploading Test.xml to CDash. * Correct cmake scripots. * Remove extraneous characters. * Add ctest_start (APPEND). * Add binary directories to scripts running ctest_test. * Correct parameters for appending Test.xml. * Set CTEST_SITE and CTEST_BUILD_NAME. * Try to pass site and build_name to ctest_test sripts. * Add site name and build name for ctest_test commands vi environment. * Revert "Try to pass site and build_name to ctest_test sripts." This reverts commit d364aaf0fa65ee7f9e222b2633ee916d50afbc42. * Correct typo in src/CMakeLists.txt. * Update batch scripts to run ctest_test scripts. Co-authored-by: Allen Byrne <byrn@hdfgroup.org>
* Update link for Software Changes in RELEASE.txt. (#2205)Larry Knox2022-11-012-958/+1428
| | | | | | | * Update link for Software Changes in RELEASE.txt. Add RELEASE.txt contents from 1.13.3 release to HISTORY-1_13.txt. * Reverse order of entries in HISTORY-1_13.txt to match the order in previous HISTORY files.
* Correct the CMake link for MPI (#2198)Allen Byrne2022-11-019-22/+28
|
* Update copyright headers (#2184)Larry Knox2022-11-011269-1852/+221
| | | | | * Updated source file copyright headers to remove "Copyright by the Board of Trustees of the University of Illinois", which is kept in the top-level COPYING file.
* Added a test case for H5VLget_connector_name (#2195)raylu-hdf2022-10-281-0/+58
| | | | | | | * Added a test case for H5VLget_connector_name. * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* added issue with Perlmutter and subfiling (#2202)Scot Breitenfeld2022-10-281-0/+21
| | | Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
* Update release.txt (#2201)Larry Knox2022-10-281-104/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Some Javadoc warning fixes * Updated javadoc fixes * # WARNING: head commit changed in the meantime HDFFV-11229 Fix long double usage in tools and java Changed h5dump and h5ls to just print 128-bit for long double type. Added test and file for dataset and attributes with all three float types. * Committing clang-format changes * HDFFV-11229 Add release note * HDFFV-11229 windows testfile needed * fix typo * Remove non supported message text * HDFFV-11229 - change ldouble test to check both native and general * HDFFV-11229 add second file compare * HDFFV-11229 fix reference file * HDFFV-11229 autotools check two refs * HDFFV-11229 revert back to removal of NATIVE_LDOUBLE in tools output * Committing clang-format changes * Update release note * Update attribute type of ref file * Change source of ninja for macs * try port instead of brew * Recommended is to use brew. * Undo non long double changes * remove unneeded file * Fix perl and doxygen CMake code * Add "option" command for clang options * Rework CMake add_custom to use the BYPRODUCTS argument * Add stamp files to BYPRODUCTS * Only one copy of file exists * Fix custom cmmand depends targets * Fix fortran custom command DEPENDS * Add LD_LIBRARY_PATH to tests * Add custom target for DEPENDS * Add h5detect conditionaly to generated target DEPENDS * Correct DEPENDS targets * Parallel builds need the mpi compiler for pkgconfig scripts. * install only if MPI build * Fortran target depends * Remove incorrect source attribute * doxygen adjustments * doxygen build updates * Correct version * Correct function version - function has been merged to 1.12 * Correct version string for map functions * Cleanup warnings for tools debug builds * TRILAB-227 - fix indexing for h5diff selections * Correct location of pos to index function call * TRILAB-227 Enable test * Quote subset args * Use MATCHES because of AppleClang * if blocks needed for build modes * Update list of DT platforms * VS2019 correctly displays float values * revert VS2019 change * Issue #669 remove version from pkgcfg filename * remove version from h5cc script * Java reference functions updated enabled fortran in cmake gcc action yaml file java reference test changed to correctly test refs jni reference functions that create ids changed to use jni id logging * Correct BYPRODUCTS argument * Correct more genereated files BYPRODUCTS * BYPRODUCTS must have unique locations * Fix typo * Fix fortran configure checks * Rework H5_PAC_C_MAX_REAL_PRECISION setting logic * Add note about fortran configure change * Adds a quick for for some egregious chunk_info badness (#722) * Fixes issue with ccmake that prevents building Fortran (#723) ccmake runs iteratively, and the check_fortran_source_runs macros were clobbering a single output file that did not get updated on further configure iterations * Fix conflicts with merge * Move MAX_PRECISION back to HDF5UseFortran.cmake * Use STREQUAL to test macro argument * Move C language test to ConfigureChecks from HDF5UseFortran * MAX_PRECISION defines must be defined * Organize flags and align autotools and cmake * Fix comment in no-error-general warnings files. * Flag cleanup and fix typos * Add comment * Correct VAR used to find configure time file * Set the path correctly * Update missing release note info. * Update code owners * Correct JIRA note * add known problem. * Use only core library for testing dynamic plugins. * Committing clang-format changes * Update main.yml * Update HISTORY-1_13.txt Missing release note added for changed location of CMake configuration files. * Update HISTORY-1_13.txt Fix typo * Update main.yml revert change * Updated version to 1.13.4-1 after creating hdf5_1_13_3 branch for 1.13.3 release. Added new version to exceptions in lines 74-5 of src/H5.c * Cleared RELEASE.txt entries following HDF5 1.13.3 release. Co-authored-by: Allen Byrne <byrn@hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
* Fix for documentation misunderstanding on m1 Intel builds (#2188)Allen Byrne2022-10-261-4/+4
|
* running on node-16 insteas of Node.js 12 (#2190)Scot Breitenfeld2022-10-264-4/+4
|
* Update develop branch version to 1.13.4-1 (#2189)Larry Knox2022-10-2610-18/+18
| | | | | | * Updated version to 1.13.4-1 after creating hdf5_1_13_3 branch for 1.13.3 release. Added new version to exceptions in lines 74-5 of src/H5.c
* JNI: Improve varlen datatype handling in H5A/H5D read/write functions (#2156)Allen Byrne2022-10-2612-970/+1088
| | | | | | | | | | | | * Improve JNI VL datatype read/write to handle complex combinations * Implement VL of VL JNI writes and reads * Add Java VLofVL test for attributtes * Changes to address review issues * Fix H5Aread vl blocks