summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Only document Fortran functions (#2319)Scot Breitenfeld2022-12-171-1/+9
| | | | | | | | | * Only document Fortran functions * Only document Fortran functions * Only document Fortran functions * Only document Fortran functions
* moved onion VFD to FAPL group (#2321)Scot Breitenfeld2022-12-171-4/+4
|
* Hdffv 11052 (#2315)vchoi-hdfgroup2022-12-161-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix for HDFFV-11052: h5debug fails on a corrupted file (h5_nrefs_POC) producing a core dump. When h5debug closes the corrupted file, the library calls H5F__dest() which performs all the closing operations for the file "f" (H5F_t *) but just keeping note of errors in "ret_value" all the way till the end of the routine. The user-provided corrupted file has an illegal file size causing failure when reading the image during the closing process. At the end of this routine it sets f->shared to NULL and then frees "f". This is done whether there is error or not in "ret_value". Due to the failure in reading the file earlier, the routine then returns error. The error return from H5F__dest() causes the file object "f" not being removed from the ID node table. When the library finally exits, it will try to close the file objects in the table. This causes assert failure when H5F_ID_EXISTS(f) or H5F_NREFS(f). Fix: a) H5F_dest(): free the f only when there is no error in "ret_value" at the end of the routine. b) H5VL__native_file_close(): if f->shared is NULL, free "f"; otherwise, perform closing on "f" as before. c) h5debug.c main(): track error return from H5Fclose(). * Committing clang-format changes * Add test and release note info for fix to HDFFV-11052 which is merged via PR#2291. * Committing clang-format changes * Add the test file to Cmake. * Skip test_misc37() for drivers that is not default compatible as it is using a pre-generated file. * Committing clang-format changes Co-authored-by: vchoi <vchoi@jelly.ad.hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Removes duplicated build mode from -Werror GitHub actions (#2314)Dana Robinson2022-12-161-2/+2
|
* Converts the YAML build mode arrays to objects in special runs (#2308)Dana Robinson2022-12-161-37/+41
| | | | | | | | | | | | | * Converts the YAML build mode arrays to objects in special runs * Adds a dump of the matrix context for each test This would have made it a LOT easier to debug the build_mode issues... * Disable the mirror VFD in the -Werror checks We can re-enable this after we fix the warnings, but I don't want to conflate code and GitHub changes, so this is a better way to get the CI to pass for now.
* Merge pull request #2304 from gheber/developGerd Heber2022-12-151-1/+1
|\ | | | | Update hdf5_header.html
| * Update hdf5_header.htmlGerd Heber2022-12-151-1/+1
|/ | | Use less awkward language.
* Hdffv 11052 (#2303)vchoi-hdfgroup2022-12-154-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix for HDFFV-11052: h5debug fails on a corrupted file (h5_nrefs_POC) producing a core dump. When h5debug closes the corrupted file, the library calls H5F__dest() which performs all the closing operations for the file "f" (H5F_t *) but just keeping note of errors in "ret_value" all the way till the end of the routine. The user-provided corrupted file has an illegal file size causing failure when reading the image during the closing process. At the end of this routine it sets f->shared to NULL and then frees "f". This is done whether there is error or not in "ret_value". Due to the failure in reading the file earlier, the routine then returns error. The error return from H5F__dest() causes the file object "f" not being removed from the ID node table. When the library finally exits, it will try to close the file objects in the table. This causes assert failure when H5F_ID_EXISTS(f) or H5F_NREFS(f). Fix: a) H5F_dest(): free the f only when there is no error in "ret_value" at the end of the routine. b) H5VL__native_file_close(): if f->shared is NULL, free "f"; otherwise, perform closing on "f" as before. c) h5debug.c main(): track error return from H5Fclose(). * Committing clang-format changes * Add test and release note info for fix to HDFFV-11052 which is merged via PR#2291. * Committing clang-format changes * Add the test file to Cmake. Co-authored-by: vchoi <vchoi@jelly.ad.hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fixes broken CI matrix actions involving -Werror and API versions (#2302)Dana Robinson2022-12-151-7/+7
|
* Adds 'unused' hints for MDS io_info parameters (#2301)Dana Robinson2022-12-143-18/+17
| | | | | | | | | | | | | | | * Adds 'unused' hints for MDS io_info parameters * Committing clang-format changes * Fix issue with formatter * Committing clang-format changes * Final fix for formatter * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* added doc. warning for H5Literate_async return value (#2295)Scot Breitenfeld2022-12-141-0/+5
|
* Update windows worker compilers (#2286)Allen Byrne2022-12-144-20/+23
| | | | | | | * Update windows worker compilers * Update bin and test issues * Update script and revert java test
* Updated H5ES documenation (#2293)Scot Breitenfeld2022-12-131-5/+5
|
* Fix for HDFFV-11052: h5debug fails on a corrupted file (h5_nrefs_POC)… (#2291)vchoi-hdfgroup2022-12-133-26/+38
| | | | | | | | | | | | | | | | | | | | | | * Fix for HDFFV-11052: h5debug fails on a corrupted file (h5_nrefs_POC) producing a core dump. When h5debug closes the corrupted file, the library calls H5F__dest() which performs all the closing operations for the file "f" (H5F_t *) but just keeping note of errors in "ret_value" all the way till the end of the routine. The user-provided corrupted file has an illegal file size causing failure when reading the image during the closing process. At the end of this routine it sets f->shared to NULL and then frees "f". This is done whether there is error or not in "ret_value". Due to the failure in reading the file earlier, the routine then returns error. The error return from H5F__dest() causes the file object "f" not being removed from the ID node table. When the library finally exits, it will try to close the file objects in the table. This causes assert failure when H5F_ID_EXISTS(f) or H5F_NREFS(f). Fix: a) H5F_dest(): free the f only when there is no error in "ret_value" at the end of the routine. b) H5VL__native_file_close(): if f->shared is NULL, free "f"; otherwise, perform closing on "f" as before. c) h5debug.c main(): track error return from H5Fclose(). * Committing clang-format changes Co-authored-by: vchoi <vchoi@jelly.ad.hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* 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>