Commit Graph

1807 Commits

Author SHA1 Message Date
jhendersonHDF
26059fc7ab
Subfiling VFD source cleanup (#3241)
* Subfiling VFD source cleanup

Modularize Subfiling CMake code into separate CMakeLists.txt file

Update Mercury util code to latest version and update Copyright

Generate mercury_util_config.h header file instead of using
pre-generated file

Remove unnecessary Mercury functionality

Fix minor warning in Subfiling VFD code

* Remove Mercury headers from Autotools publicly-distributed header list
2023-07-13 12:19:02 -05:00
jhendersonHDF
f5ca9237a2
Fix assertion failure when attempting to use IOC VFD directly (#3187) 2023-06-27 21:36:12 -07:00
Larry Knox
7e3c100755
Fix #1978 h5vers usage message. (#3162)
Update Platforms Tested in RELEASE.txt.
2023-06-20 16:57:43 -07:00
H. Joe Lee
a37795d8b9
chore: fix grammar (#3150)
* chore: fix grammar
2023-06-16 12:43:26 -07:00
Jan-Willem Blokland
8135cc280c
CMake: (feature) ROS3 and cmake config file. (#3146)
- Added a cmake variable to the hdf5-config.cmake file which
  indicate if the library has been build with or without the
  read-only S3 functionality.
2023-06-16 07:34:06 -07:00
Dana Robinson
fcdd0ab9dc
Revert long double checks (#3133)
* Revert "Remove long double conversion work-arounds (#3097)"

This reverts commit 1e1dac1dac.

* Update comments to reflect newer systems
2023-06-15 09:13:22 -07:00
Allen Byrne
75bcd68e7c
Add note for issue 3056 (#3117) 2023-06-13 16:12:14 -07:00
Dana Robinson
d4605919f9
Remove H5detect and H5make_libsettings (#3104)
Removes H5detect and H5make_libsettings from the build and replaces
their functionality with things that don't affect cross-compiling.

H5detect --> floating-point types are now detected on library load
H5make_libsettings --> Moved functionality to a new H5build_settings.c template file
2023-06-13 08:16:41 -07:00
Dana Robinson
1e1dac1dac
Remove long double conversion work-arounds (#3097)
Several options and public symbols that were provided to paper
      over non-standard long double conversions between signed/unsigned
      long and long long values were removed from the Autotools and
      CMake. These were added twenty years ago, when C99 and 64-bit
      platforms were less common and are no longer needed.

      Autotools:
        --enable-dconv-accuracy

      CMake:
        HDF5_WANT_DATA_ACCURACY

      H5pubconf.h symbols:
        H5_WANT_DATA_ACCURACY
        H5_LDOUBLE_TO_LONG_SPECIAL
        H5_LONG_TO_LDOUBLE_SPECIAL
        H5_LDOUBLE_TO_LLONG_ACCURATE
        H5_LLONG_TO_LDOUBLE_CORRECT
        H5_DISABLE_SOME_LDOUBLE_CONV
2023-06-12 14:12:57 -07:00
Dana Robinson
a1a9526b14
Address memory issues when copying empty enums (#3088)
When copying an empty enum type (including implicitly, as when an enum
is contained in a compound type), the library would allocate 0-size
blocks of memory and attempt to memcpy 0 bytes from NULL pointers, which
are undefined behavior. In debug mode, the library would raise an
assert in H5MM.

The library now avoid undefined memory operations when copying empty
enum types and a test that copies empty enums has been added.
2023-06-12 12:14:25 -07:00
Scot Breitenfeld
66cee72768
Print out the VOL connector being used in the ASYNC test (#3016)
* Print out the VOL connector being used in the ASYNC test
* Add h5pget_vol_cap_flags_f with test
2023-06-05 09:59:51 -07:00
jhendersonHDF
79bb60c3f6
API test updates (#3018)
* Remove macros from api tests (#2929)
* Remove macros and undefined callbacks (#2959)
* Remove remaining macros from H5_api_tests_disabled.h (#2968)
* Put some vol capability checks in testpar tests and remove remaining warnings (#2995)
* API tests datatype generation cleanup
* Clean up API tests' random datatype generation and fix bug with enum
datatype generation
* Init parallel API tests with MPI_THREAD_MULTIPLE
* HDF5 API tests - Check VOL connector registration
* Determine whether a VOL connector failed to load before running API
tests
* Cleanup some usages of H5VL_CAP_FLAG_CREATION_ORDER in API tests
* Remove some now-unused macros from H5_api_tests_disabled.h
* Enable HDF5 API tests by default
* Implement CMake option to install HDF5 API tests
* Check for invalid AAPL from H5Acreate
* Enable building of VOL connectors alongside HDF5 in CMake
* Prepend CMake VOL URL option indices with 0s so they come in order
* Don't turn on API tests by default yet
* Document VOL connector FetchContent functionality
* Add release note for API test updates
* Only install testing library if API tests are installed
* Fix grammar
2023-05-26 13:29:02 -07:00
Dana Robinson
b50225e8b2
Add release note for #2999 (#3009) 2023-05-25 07:53:15 -07:00
Allen Byrne
8186a8ded0
Fix plugin cache variable name (#2988)
* Fix plugin cache variable name
* Prefix plugin project local variables
2023-05-22 18:04:48 -05:00
Allen Byrne
dc3ef6055f
Change defaults of standard filters. (#2927) 2023-05-18 16:05:20 -05:00
Allen Byrne
4b228ec6af
Fix CMake generator expression syntax (#2909) 2023-05-05 15:57:40 -05:00
Allen Byrne
2c3797d7bd
remove obsolete SZIP find module (#2901) 2023-05-05 09:07:16 -07:00
Scot Breitenfeld
654dd01525
Force lowercase Fortran module file names (#2891)
* fixed args in execvp for h5fuse

* Force lowercase Fortran module file names for Cray compilers
2023-05-03 22:03:58 -05:00
jhendersonHDF
25a8ba9fde
Add RELEASE.txt entry for API tests (#2889) 2023-05-03 14:11:38 -07:00
Scot Breitenfeld
a0340338e5
Add Fortran Selection IO APIs (#2864)
new selection IO fortran APIs with tests
2023-05-01 15:21:47 -07:00
Neil Fortner
3236fb79ce
Implement selection I/O with type conversion (#2823)
Initial implementation of selection I/O with type conversion.  Allows
Parallel collective I/O with type conversion, as long as selection I/O
is enabled.
2023-04-28 16:58:25 -07:00
jhendersonHDF
bd7616cf98
Fix v1 object header gap bug in H5Ocopy (#2785) 2023-04-26 15:57:22 -07:00
Allen Byrne
ca27cf94a2
Add support for CMakePresets and fix example download (#2817) 2023-04-26 15:56:57 -07:00
jhendersonHDF
b7c8061505
Allow H5P_DEFAULT in H5Pget_vol_cap_flags and H5Pget_vol_id (#2807) 2023-04-25 10:04:17 -07:00
jhendersonHDF
2ce5e3e6e1
Add release note for ROS3 VFD anonymous credential fix (#2801) 2023-04-24 09:12:30 -07:00
Allen Byrne
3f5842cdd2
Correct CMake option defaults - deprecate szip for libaec (#2778) 2023-04-23 13:11:17 -07:00
Scot Breitenfeld
def21b1e33
Added Fortran Async APIs (#2715)
H5A, H5D, H5ES, H5G, H5F, H5L and H5O async APIs were added.
2023-04-21 11:07:48 -05:00
Allen Byrne
445fcab52f
Add no subsets option to h5diff like h5dump #2688 (#2756) 2023-04-18 11:21:18 -07:00
Dana Robinson
ad808ec66a
Remove more author/date lines from RELEASE.txt (#2767) 2023-04-17 09:14:09 -07:00
Dana Robinson
d5b9d52344
Remove dates and initials from RELEASE.txt entries (#2746) 2023-04-16 09:09:41 -07:00
Dana Robinson
f9c16de8a7
Fix memory leaks when processing OH cont messages (#2723)
Malformed object header continuation messages can result in a too-small
buffer being passed to the decode function, which could lead to reading
past the end of the buffer. Additionally, errors in processing these
malformed messages can lead to allocated memory not being cleaned up.

This fix adds bounds checking and cleanup code to the object header
continuation message processing.

Fixes #2604
2023-04-14 15:17:24 -07:00
Kobrin Eli
10d4a6d094
Fix out of bounds in hdf5/src/H5Fint.c:2859 (#2691) 2023-04-13 14:37:10 -07:00
bmribler
65eff22348
Fixed GH-2603, heap-buffer-overflow in H5O__linfo_decode (#2697)
* Fixed GH-2603, heap-buffer-overflow in H5O__linfo_decode

Verified with valgrind -v --tool=memcheck --leak-check=full h5dump POV-GH-2603
The several invalid reads shown originally are now gone.
2023-04-13 14:35:45 -07:00
Dana Robinson
d6243791d4
Add a RELEASE.txt note for GH #2605 (#2724) 2023-04-13 14:34:50 -07:00
vchoi-hdfgroup
67d4b5eaf8
Fix for github issue #2599: (#2665)
* Fix for github issue #2599:
As indicated in the description, memory leak is detected when running "./h5dump pov".

The problem is: when calling H5O__add_cont_msg() from H5O__chunk_deserialize(),
memory is allocated for cont_msg_info->msgs.  Eventually, when the library tries to load
the continuation message via H5AC_protect() in H5O_protect(), error is
encountered due to illegal info in the continuation message.
Due to the error, H5O_protect() exits but the memory allocated for cont_msg_info->msgs is not freed.

When we figure out how to handle fuzzed files that we didn't generate,
a test needs to be added to run h5dump with the provided "pov" file.

* Add message to release notes for the fix to github issue #2599.
2023-04-11 23:06:29 -05:00
glennsong09
367e4a3933
Clean up memory allocated when reading messages in H5Dlayout on error (#2602) (#2687) 2023-04-11 16:09:05 -05:00
mattjala
2eedc8e8f7
Fix invalid memory access in H5O__ginfo_decode (#2663) 2023-04-11 15:22:11 -05:00
jhendersonHDF
bc8fa3a477
Add buffer overrun checks to H5O__layout_decode and H5O__sdspace_decode (#2679)
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
2023-04-11 14:47:51 -05:00
Scot Breitenfeld
2e7d8f7ed5
Perlmutter was fixed (#2677) 2023-04-11 14:41:06 -05:00
jhendersonHDF
b77cb393b8
Fix improper include of build directory (#2422, #2621) (#2667) 2023-04-11 14:31:25 -05:00
jhendersonHDF
027ee7c633
Fix a heap buffer overflow during H5D__compact_readvv (GitHub #2606) (#2664) 2023-04-11 14:08:46 -05:00
Allen Byrne
fc91e8856f
Fix #2598 sanitize leak (#2660) 2023-04-07 10:35:51 -07:00
jhendersonHDF
7b426bf3ea
CMake - Match Autotools behavior for library instrumentation (#2648)
Enable library instrumentation by default for parallel debug builds
2023-03-31 22:38:15 -05:00
jhendersonHDF
31c26e72c5
Fix a memory corruption issue in H5S__point_project_simple (#2626) 2023-03-23 22:55:34 -05:00
Dana Robinson
af2666013f
Bring new release_docs scheme from 1.14 (#2614) 2023-03-22 18:41:00 -07:00
jhendersonHDF
1392b9fc17
Subfiling VFD - fix issues with I/O concentrator selection strategies (#2571)
Fix multiple bugs with the SELECT_IOC_EVERY_NTH_RANK and
SELECT_IOC_TOTAL I/O concentrator selection strategies and add a
regression test for them
2023-03-17 15:45:07 -05:00
Egbert Eich
b16ec83d4b
Check for overflow when calculating on-disk attribute data size (#2459)
* Remove duplicate code

Signed-off-by: Egbert Eich <eich@suse.com>

* Add test case for CVE-2021-37501

Bogus sizes in this test case causes the on-disk data size
calculation in H5O__attr_decode() to overflow so that the
calculated size becomes 0. This causes the read to overflow
and h5dump to segfault.
This test case was crafted, the test file was not directly
generated by HDF5.
Test case from:
https://github.com/ST4RF4LL/Something_Found/blob/main/HDF5_v1.13.0_h5dump_heap_overflow.md
2023-03-02 11:17:49 -06:00
Allen Byrne
d7128d144b
Add fetchcontent for compression libs and fix cmake config (#2487)
* Add fetchcontent for compression libs and fix cmake config

* MSDOS is a reserved define name

* Add release note and update install doc for FetchContent

* Add CI test for FetchContent

* Use LINK_COMP_LIBS instead of STATIC_LIBRARY for depends

* Use general link
2023-02-26 15:06:14 -08:00
jhendersonHDF
49fdba1091
Subfiling VFD - add option to specify config file prefix (#2495) 2023-02-26 10:12:00 -08:00
jhendersonHDF
b3da28b731
Fix issue with collective metadata writes of global heap data (#2480) 2023-02-20 08:49:34 -06:00