Commit Graph
100 Commits
Author SHA1 Message Date
jhendersonHDF 4ded1cbcb4 Inherit Debug C build flags in Developer build mode (#6182) 2026-02-12 22:03:51 -06:00
jhendersonHDF 65d831cbe3 Remove unused temp. variables in H5D__chunk_copy (#6176)
Removed some unused temporary variables in H5D__chunk_copy that obscured the
ownership of memory buffers and led to a double-free of the buffers
2026-01-29 09:31:36 -06:00
jhendersonHDFandLarry Knox dd3080a58c Fix double-free issue in H5D__chunk_copy (#6160)
Fix double-free caused by loss of buffer pointer after re-allocation

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
2026-01-27 05:55:38 -06:00
jhendersonHDF ed5eceab58 Enable data sieving for chunks that can't be cached (#6111)
* Enable data sieving for chunks that can't be cached

Fixed an issue that prevented use of a data sieve buffer for I/O on dataset
chunks when those chunks couldn't be cached by the library. This issue
could result in worst-case behavior of I/O on a single data element at a
time when chunks are non-contiguous with respect to memory layout.

Added a test to attempt to catch performance regressions in I/O on dataset
chunks that are non-contiguous with respect to memory layout

Updated the External File List logic to set the data sieve buffer size to
the smaller of the dataset size and the size set in the FAPL, similar to
the logic elsewhere in the library
2026-01-23 10:58:11 -06:00
jhendersonHDF 9af6db11b6 Distribute Findlibaec.cmake module for use by HDF5 library consumers (#6159) 2026-01-22 16:14:20 -06:00
jhendersonHDF b100609caa Add Findlibaec CMake module for locating libaec (#6152) 2026-01-13 09:26:40 -06:00
jhendersonHDF d1efeba7be Add predefined datatype for FP4 format (#6122)
Adds predefined datatype for FP4 data in E2M1 format

Does not add support for any native FP4 types; datatype conversions are performed in software
2025-12-31 11:44:08 -06:00
jhendersonHDF 441d83a896 Add predefined datatypes for FP6 formats (#6097)
Adds predefined datatypes for FP6 data in E2M3 and E3M2 formats

Does not add support for any native FP6 types; datatype conversions are performed in software
2025-12-19 12:56:54 -06:00
jhendersonHDF 2ddfed18df Rewrite complex number configuration logic to fix re-configuration issue and improve clarity (#6080) 2025-12-05 11:24:55 -06:00
jhendersonHDF 0c3e2216d8 Exclude HISTORY-2.X file from Doxygen parsing (#6081)
* Exclude HISTORY-2.X file from Doxygen parsing
2025-12-02 17:15:45 -06:00
jhendersonHDF bd9e443e82 Fix checking of HDF5_VOL_CONNECTOR env. var. in some tests (#6073) 2025-12-01 11:21:19 -06:00
jhendersonHDF 765f35cc81 Fix several issues uncovered by CVE-2025-7067 (#5938)
Fixes CVE-2025-7067 issues by updating H5FS_sect_add to handle section merging/shrinking and improving error handling.
2025-11-11 11:52:20 -06:00
jhendersonHDF eb72e67ed2 Add predefined datatypes for FP8 formats (#5882)
Adds predefined datatypes for FP8 data in E4M3 and E5M2 formats

Does not add support for any native FP8 types; datatype conversions are performed in software
2025-11-03 15:10:22 -06:00
jhendersonHDF 3266a56a97 Add CHANGELOG entry for fix for CVE-2025-7067 (#5937)
Add changelog entry for CVE-2025-7067 fix, detailing heap buffer overflow resolution in H5FS__sinfo_serialize_node_cb().
2025-10-23 19:56:51 -05:00
jhendersonHDF 7dd110251d Fix issue with handling of failure during discard of metadata cache entries (#5817)
When discarding a metadata cache entry after flushing it, errors
during the discard process could cause the library to skip calling
the 'free_icr' callback for the entry. This could result in resource
leaks and the inability of the cache to be fully flushed and closed
due to issues such as pinned entries remaining in the cache. This
has been fixed by noting errors during the discard process, but
attempting to fully free a cache entry before signalling that an
error has occurred.

Fixes CVE-2025-7068
2025-10-16 16:37:02 -05:00
jhendersonHDF a9ba49178f Update generated error files (#5895)
Add H5E_RTREE error type for R-Tree spatial index errors and update related error handling.
2025-10-03 15:58:07 -05:00
jhendersonHDF 748875a7d7 Add predefined datatypes for bfloat16 data (#5402)
Adds predefined datatypes for little- and big-endian bfloat16 data

Does not add support for any native bfloat16 types; datatype conversions are performed in software

Also adds missing float16 predefined types to fortran
2025-09-26 13:33:56 -05:00
jhendersonHDF 29c847a43d Fix issue with handling of corrupted object header continuation messages (#5829)
An HDF5 file could be specifically constructed such that an object
header contained a corrupted continuation message which pointed
back to itself. This eventually resulted in an internal buffer being
allocated with too small of a size, leading to a heap buffer overflow
when encoding an object header message into it. This has been fixed
by checking the expected number of deserialized object header chunks
against the actual value as chunks are being deserialized.

Fixes CVE-2025-6816, CVE-2025-6856, CVE-2025-2923
2025-09-26 13:13:10 -05:00
jhendersonHDF a8ceb1d95b Fix CVE-2025-6857 (#5799)
Add additional checks for v1 B-tree corruption
2025-09-20 08:25:00 -05:00
jhendersonHDF ea4b483d98 Unlink file free space section on failure to update data structures (#5815)
When linking a file free space section into a free space manager's
internal data structures, the library previously wouldn't unlink
the free space section when it failed to update the free space
manager's internal data structures. This could eventually result
in a use-after-free issue due to the stale reference kept around.
2025-09-16 13:14:21 -05:00
jhendersonHDF f380be8c40 Update some incorrect macros in H5Fprivate.h (#5830)
Update some macros that were out of date due to not being
used inside the H5F package
2025-09-16 05:12:23 -05:00
jhendersonHDF 07c2dca003 Skip unicode tests for specific VFDs (#5823)
During testing, specific VFDs create files with names that
are different than the "base" filename passed to H5Fcreate().
The unicode tests are setup to expect specific filenames, so
these tests are skipped when the test utility function
h5_fixname() would modify the "base" filename.
2025-09-15 11:42:54 -05:00
jhendersonHDF 7461a98cb2 Revise approach to Unicode filenames on Windows (#5794)
Treat filenames as UTF-8 initially and fall back to ANSI functions
if conversion to UTF-16 fails

Adds new HDF5_PREFER_WINDOWS_CODE_PAGE environment variable to
prefer interpreting filenames according to the active Windows code
page rather than assuming UTF-8 encoding
2025-09-11 16:50:31 -05:00
jhendersonHDF b21c848829 Remove unused variables in test (#5808)
Fixes several warnings in Developer builds about variables declared past the start of the function
2025-09-11 14:56:42 -05:00
jhendersonHDF 791be9eab3 Avoid placing CMake generator expressions in pkg-config files (#5700)
Skips processing of flags inside CMake generator expressions until they
can properly be handled with a more complete solution
2025-08-01 07:46:23 -05:00
jhendersonHDF 4a12cfec19 Align CMake compiler wrappers with old Autotools versions (#5649)
Implemented missing --help/-h, -c, -echo and -shlib/-noshlib options

Added new -nohl option to avoid building and linking against
high-level HDF5 libraries if desired

Implemented adding of HDF5 installation library directory to rpath of
resulting executable/library and added new -norpath option to avoid
this behavior if desired

Added parsing of HDF5_USE_SHLIB environment variable to determine
whether to link against shared or static HDF5 libraries

Added parsing of HDF5_PKG_CONFIG_ARGS environment variable to separate
pkg-config-specific options from compiler-specific options and prevent
conflicts
2025-07-28 07:42:52 -05:00
jhendersonHDF a76c21b244 Fix Fortran name mangling in test library (#5661) 2025-07-14 06:19:57 -05:00
jhendersonHDF 75c8b636dd Correct usage of H5_HAVE__FLOAT16 macro (#5653) 2025-07-10 07:03:03 -05:00
jhendersonHDF b02628a9f0 Add status badge for develop daily build (#5630) 2025-06-26 08:18:32 -05:00
jhendersonHDF 13706b8e93 Fix issue in ROS3 VFD with virtual-hosted-style URLs (#5620)
Fix formation of Host header when specified URL is a
virtual-hosted-style URL
2025-06-23 13:46:47 -05:00
jhendersonHDF 39c6d87dee Fix tools testfile URLs for subfiling tests (#5621) 2025-06-23 07:35:54 -05:00
jhendersonHDF c44c7be5b7 Fix daily build S3 testing (#5623) 2025-06-23 07:35:22 -05:00
jhendersonHDF 51dd7758fe Fix resource leak in Subfiling example programs and tests (#5617) 2025-06-20 06:54:37 -05:00
0743df227f Add documentation and s3proxy testing for ROS3 VFD (#5560)
Adds workflow to build ROS3 VFD and optionally build aws-c-s3 library
from source or use package managers

Adds testing of ROS3 VFD with s3proxy and docker

Adds new H5Pset_fapl_ros3_endpoint()/H5Pget_fapl_ros3_endpoint() API
functions to set/get an alternative endpoint URL to use when opening
files with the ROS3 VFD

Cleans up warnings in tools and tests related to ROS3 VFD structure size

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com>
2025-06-19 16:22:49 -05:00
75fff3ed06 Re-write ROS3 VFD S3 backend to use AWS' C S3 library (#5548)
* Re-write ROS3 VFD S3 backend to use AWS' C S3 library

Replaces the ROS3 VFD's libcurl-based S3 backend with a new
backend which uses the aws-c-s3 library

Adds support for sourcing credentials from standard AWS
configuration files, environment variables, etc. with a
fallback to anonymous credentials when credentials can't be
found

Adds support for sourcing AWS region from standard AWS
configuration files and environment variables

Adds support for new environment variables HDF5_ROS3_VFD_DEBUG,
HDF5_ROS3_VFD_LOG_LEVEL and HDF5_ROS3_VFD_LOG_FILE for debugging
purposes

Replaces function to load testing credentials in the ros3.c and
s3comms.c tests with new function that delegates to the aws-c-s3
library for better compatibility with standard AWS configuration
files and environment variables

Adds support for s3:// object URIs

Adds HTTP User-Agent header in form of
'libhdf5/<hdf5_version> (vfd:ros3) libaws-c-s3'

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com>
2025-05-29 17:51:29 -05:00
jhendersonHDF f38cea902a Fix caching issue in ROS3 VFD (#5507)
Fix an incorrect range check that would prevent reads
from being served from the ROS3 VFD's internal cache
when the offset + length of the read extends exactly
to the end of the cached range of bytes.
2025-05-05 07:53:01 -05:00
jhendersonHDF 4a0c3b440b Fix usage of string (FIND ...) command in CMake files (#5470) 2025-04-23 07:25:03 -05:00
jhendersonHDF 1b7baf0e5f Include 400/500 HTTP status codes in ROS3 VFD error stacks (#5441)
Adds check for buffer overflow in curl write callback
2025-04-11 16:55:21 -05:00
jhendersonHDF b30a50a935 Suppress unhelpful error messages from tentative file opens in h5tools_fopen() (#5415)
* Remove H5Epop calls after switching to error stack pausing mechanism
2025-04-07 07:44:56 -05:00
jhendersonHDF 407caf1259 Suppress GCC warnings about invalid float16 literal suffix before C23 (#5387)
* Revert to old form of warning flag
2025-04-02 11:54:12 -05:00
jhendersonHDF be63ed0cb0 Enable building of test generator programs against shared libraries (#5404)
Build test generator programs against shared libraries, if available,
by default. Otherwise, build them against static libraries. If
HDF5_BUILD_STATIC_TOOLS is set to ON, the tools test generator
programs will be built against static libraries even if shared
libraries are available.
2025-03-26 14:26:19 -05:00
jhendersonHDF 31bad0692b Remove Autotools from VFD daily build workflow (#5392) 2025-03-18 16:04:55 -05:00
jhendersonHDF fc3b3e7bbb Fix segfault in H5S__get_select_hyper_blocklist() (#5353) 2025-03-18 11:06:36 -05:00
jhendersonHDF 5e32f15352 Fix two assertion failures in hyperslab code (#5355) 2025-03-07 16:54:53 -06:00
jhendersonHDF d366d72830 Update API tests README.md with current information (#5348) 2025-03-03 15:00:25 -06:00
jhendersonHDF d48af25a96 Move TestAlarmOn()/TestAlarmOff() back into PerformTests() (#5307)
Moves call to TestAlarmOn() in testframe framework back into
the PerformTests() function due to the timing of when the
framework processes command-line arguments
2025-02-10 15:23:54 -06:00
jhendersonHDF e8760978c9 Fix segfault in H5Scombine_select (#5296)
Checks for a hyperslab selection in the resulting dataspace before
attempting to set a hyperslab-specific field
2025-02-07 09:44:01 -06:00
jhendersonHDF 354994a91a Minor adjustments to usage of alarm(2) timer in tests (#5292)
Make alarm(2) timer per-test program rather than per-subtest

Avoid enabling alarm(2) timer when TestExpress is set to 0
2025-02-05 14:27:11 -06:00
jhendersonHDF fba198e148 Add new -testexpress option to testframe testing framework (#5286)
Adds new -testexpress command-line option to the testframe testing
framework to allow setting or overriding of the TestExpress level
at runtime

Adds macros for the different currently defined TestExpress levels
2025-01-31 20:11:48 -06:00
jhendersonHDF c83ca7dff3 Fix AddressSanitizer issues in cache test (#5235)
Fix usages of stack variables after function return by
removing extraneous H5CX_push/pop operations and hoisting
a stack variable to a higher scope
2025-01-15 14:58:39 -06:00
jhendersonHDF 46658a55b3 Fix memory leak in API tests for vlen dataset I/O (#5230) 2025-01-13 16:58:32 -08:00
jhendersonHDF 2d0c676642 Enable API tests by default and fix some issues (#5223)
* Enable API tests by default

* Fix leaked file handle in API link test

* Fix some versioned API misuses
2025-01-10 09:08:02 -08:00
jhendersonHDF af0b2315bd Remove const from testing parameters in testframe framework (#5214)
Makes testing parameters specified with AddTest non-const again when
passed to test functions. This allows test functions to update their
parameters during execution and is particularly useful for tests
which use those parameters to accumulate statistics, error counts,
etc. without resorting to global variables.
2025-01-08 13:33:00 -06:00
jhendersonHDF 090e60407f Skip some parallel tests for OpenMPI version 5.0.5 (#5151)
An issue in the 5.0.5 release of OpenMPI causes some parallel
HDF5 tests to fail. The issue was resolved in the OpenMPI 5.0.6
release.
2024-11-27 10:16:33 -06:00
jhendersonHDF ffaa9348fa Rename cdash site for daily MPI source builds (#5150) 2024-11-26 12:52:17 -06:00
jhendersonHDF fd7aef59ed Integrate API tests with testing framework (#5133)
Allows skipping of individual tests by interface or by name
2024-11-26 07:34:52 -06:00
jhendersonHDF 1a9c40557d Add documentation to h5test testing framework (#5094)
* Add documentation to h5test testing framework

* Remove header comments in h5test.c in favor of h5test.h documentation
2024-11-13 20:08:07 -08:00
jhendersonHDF c130d5144d Fix failures in dtypes test on cygwin (#5077) 2024-11-07 08:22:53 -08:00
jhendersonHDF 29d8dfd170 Skip some additional dt_arith long double tests for ppc64le systems (#5071)
Skips a few more dt_arith sub-tests on ppc64le systems until issues with
handling of the long double type can be addressed
2024-11-04 17:12:57 -06:00
jhendersonHDF 21b627e8f8 Remove top-level structure from MPI source build workflow tar artifacts (#5063) 2024-11-04 05:50:28 -08:00
jhendersonHDF 8407b75a26 Update daily build action to build MPICH and OpenMPI from source (#5058) 2024-11-01 13:38:37 -05:00
jhendersonHDF 90429f5e7d Implement support for complex number datatypes (#4630)
* Implement support for complex number datatypes

Adds the new datatype class H5T_COMPLEX

Adds the new API function H5Tcomplex_create which creates a complex
number datatype from an ID of a base floating-point datatype

Adds the new feature check macros H5_HAVE_COMPLEX_NUMBERS and
H5_HAVE_C99_COMPLEX_NUMBERS

Adds the new datatype size macros H5_SIZEOF_FLOAT_COMPLEX,
H5_SIZEOF_DOUBLE_COMPLEX and H5_SIZEOF_LONG_DOUBLE_COMPLEX

Adds the new datatype ID macros H5T_NATIVE_FLOAT_COMPLEX,
H5T_NATIVE_DOUBLE_COMPLEX, H5T_NATIVE_LDOUBLE_COMPLEX,
H5T_CPLX_IEEE_F16LE, H5T_CPLX_IEEE_F16BE,
H5T_CPLX_IEEE_F32LE, H5T_CPLX_IEEE_F32BE,
H5T_CPLX_IEEE_F64LE and H5T_CPLX_IEEE_F64BE

Adds hard and soft datatype conversion paths between complex number
datatypes and all the integer and floating-point datatypes, as well as
between other complex number datatypes

Adds a special conversion path between complex number datatypes and
array or compound datatypes where the in-memory layout of data is the
same between the datatypes and data can be converted directly

Adds support for complex number datatypes to the h5dump, h5ls and
h5diff/ph5diff tools. Allows h5dump '-m' option to change floating-point
printing format for float complex and double complex datatypes, as well
as long double complex if it has the same size as double complex

Adds minimal support to the h5watch and h5import tools

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the Java wrappers. Also adds initial,
untested support to the JNI for future use with HDFView

Adds support for just the H5T_COMPLEX datatype class to the Fortran
wrappers

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the high level library H5LT interface
for use with the H5LTtext_to_dtype and H5LTdtype_to_text functions

Changes some usages of "complex" in the library since it conflicts with
the "complex" keyword from the complex.h header. Also changes various
usages of the word "complex" throughout the library to distinguish
compound datatypes from complex datatypes.
2024-10-31 13:54:25 -07:00
jhendersonHDF 8f0cdce2a2 Add callable workflows for building OpenMPI and MPICH from source (#5051) 2024-10-30 13:44:49 -07:00
jhendersonHDF 877c6d8832 Move h5_test_init() calls after MPI_Init (#4988) 2024-10-21 08:36:23 -07:00
jhendersonHDF 0559ba6881 Remove FALSE from some API tests (#4977) 2024-10-18 12:02:51 -07:00
jhendersonHDF 68bffcd45e Remove old RELEASE.txt note (#4945) 2024-10-10 07:50:43 -07:00
jhendersonHDF ab913d7ab5 Use H5VLcmp_connector_cls to compare VOL connector IDs in parallel API tests (#4936) 2024-10-08 09:15:48 -05:00
jhendersonHDF 302ba0a7f7 Minor refactoring of testframe.c testing framework (#4930)
Added setup and cleanup callback parameters to TestInit() to perform
setup and cleanup tasks once for whole test program

Removed TestCleanup() function since its functionality is covered by
PerformTests()

Added check of the HDF5_NOCLEANUP environment variable in
GetTestCleanup()
2024-10-07 12:27:09 -05:00
jhendersonHDF 33d9fa8e62 Use H5VLcmp_connector_cls to compare VOL connector IDs in API tests (#4929) 2024-10-04 12:31:14 -07:00
jhendersonHDF 34d6ef545a Refactor h5test.c, testframe.c and testpar.h testing frameworks (#4891)
Added new testframe.h header to document testing framework functions and
split them away from h5test.h and from test programs that don't
integrate with the testframe.c testing framework

Added new test setup callback to testframe.c testing framework

Added parameters to AddTest() to specify size of test parameters so they
can be copied for later use

Enabled HDF5 error stacks in testframe.c framework by default and added
some error stack suppressions to some testhdf5 tests

Added new maxthreads option to testframe.c framework to allow specifying
the maximum number of threads a multi-threaded test can use

Moved TestExpress functionality out of testframe.c and into more general
h5test.c for wider use by tests through getter and setter

Updated some tests to not mix and match functionality between h5test.c/h
and testframe.c/h

Moved some functionality from testphdf5.h into testpar.h for parallel
tests that aren't part of testphdf5

Added new parallel test library that contains common shared
functionality for parallel tests (similar to h5test library)
2024-10-01 16:10:03 -05:00
jhendersonHDF 92f4083514 Fix a typo in VOL user's guide (#4868) 2024-09-23 14:59:01 -05:00
jhendersonHDF eeb94a8d5a Print error stream when cmake greptest fails to match error ref. (#4841) 2024-09-17 10:21:54 -07:00
jhendersonHDF 98c5411f02 Fix a bug in Subfiling VFD vector I/O setup (#4821)
Fixes a bug where the vector I/O sizes weren't being extended when
one of the entries in the array is 0. This caused an over-read of
the I/O sizes buffer and on some machines would cause a memory
allocation failure due to the calculated I/O vector size being too
large.
2024-09-12 08:01:08 -05:00
jhendersonHDF 308fc972f7 Fix a few issues with error reporting during sec2 reads/writes (#4794) 2024-09-04 13:14:22 -05:00
jhendersonHDF e5eede6842 Set/Unset VOL wrapping context in H5VL_attr_close (#4759) 2024-08-26 10:38:31 -07:00
jhendersonHDF 573c8bd4c9 Fix segfault when closing datatype during failure in H5Topen2 (#4683) 2024-08-02 14:49:22 -05:00
jhendersonHDF 74fbc1dbd4 Add temporary fix for ARM64 Mac _Float16 build failure (#4639) 2024-07-15 11:28:13 -05:00
jhendersonHDF 773831f3cb Add H5F_LIBVER_V116 to internal library version structures (#4619)
Also add H5F_LIBVER_V116 flag to Fortran wrappers
2024-07-02 09:26:05 -05:00
jhendersonHDF 4a0b1b66a5 Allow usage of page buffering for serial file access from parallel HDF5 builds (#4568) 2024-06-13 14:18:31 -05:00
jhendersonHDF b823c1609d Remove an unnecessary check for parallel and thread-safety from examples (#4543) 2024-06-03 15:10:19 -05:00
jhendersonHDF 3877c074bc Export HDF5 parallel status for CMake FetchContent'ed VOL connectors (#4542) 2024-06-03 15:10:01 -05:00
jhendersonHDF 8897e25b00 Fix spelling (#4522) 2024-05-23 16:44:33 -05:00
jhendersonHDF ac7b5ce314 Fix an issue where compound datatype member IDs can be leaked during conversion (#4459)
Also fixes issues with handling of partially initialized datatypes during library shutdown
2024-05-10 16:28:53 -05:00
jhendersonHDF 6114d1adfb Fixes and cleanup for ph5diff (#4460)
* Fixes and cleanup for ph5diff

Fixes concurrency issues in ph5diff that can cause interleaved
output

Fixes an issue where output can sometimes be dropped if it ended
up in ph5diff's output overflow file

Fixes an issue where MPI_Init is called after HDF5 has been
initialized, preventing the library from setting up an MPI
attribute to perform cleanup on MPI_Finalize

Fixes an issue in config/cmake/runTest.cmake where the CMake
logic would try to access an invalid list index if the number
of lines in a test's output and reference files don't match

* Add release note
2024-05-03 15:00:15 -05:00
jhendersonHDF 3876299d75 Split H5Tconv.c into modules by type (#4393)
* Split H5Tconv.c into modules by type

* Add new H5Tconv headers to list of private headers
2024-04-22 12:23:13 -07:00
jhendersonHDF 7d0cbc3479 Set available CMake build types for non-multi-config generators (#4330) 2024-04-12 09:26:48 -07:00
jhendersonHDF e6ad84d6db Add known issue for MacOS 14 _Float16 byte order detection issue (#4374) 2024-04-10 13:25:32 -05:00
jhendersonHDF b929dbd312 Fix use of possibly uninitialized memory in h5repack (#4354) 2024-04-08 15:47:32 -07:00
jhendersonHDF 90a1baede9 Revise _Float16 configure checks (#4323)
Run configure checks with and without CFLAGS/CMAKE_C_FLAGS since some
compilers work in one case while not working in the other case

Sync CMake configure checks with Autotools
2024-04-04 09:59:25 -05:00
jhendersonHDF 3db69574f0 Fix h5py testing failure due to invalid datatype IDs (#4321)
Fixes an issue where invalid datatype IDs are passed to application conversion
functions in the case where the top-level conversion function is a library-internal
function that operates on a container-like datatype, but one or more of the
base datatype members are converted with an application conversion function.
2024-04-04 09:55:20 -05:00
jhendersonHDF 3424bc9756 Fix issues with empty or uninitialized link names (#4322)
Converts an assertion in H5G_loc_find into a normal error
check that checks for empty link names

Initializes H5O_link_t structure early in H5G__ent_to_link
to avoid trying to free potentially uninitialized memory

Checks for an empty link name after H5MM_strndup in
H5G__ent_to_link

Fixes GitHub #4307
2024-04-04 07:34:05 -05:00
jhendersonHDF a37a049ceb Simply check for datatypes with unusual number of unused bits (#4309)
Avoids potential undefined behavior in H5T_is_numeric_with_unusual_unused_bits
2024-04-03 15:40:15 -07:00
jhendersonHDF c4544543a2 Remove old wait_H5Tinit.cmake file (#4314) 2024-04-03 02:29:25 -07:00
jhendersonHDF fa0c3ca3db Fix README badges (#4313) 2024-04-03 02:28:53 -07:00
jhendersonHDF dc69e39f65 Add configure options for disabling extension features (#4277)
Add configure option to enable or disable extension features in general

Add configure option to enable or disable _Float16 support

Add new config options to various settings files
2024-03-31 22:45:50 -05:00
jhendersonHDF ce53bc020d Fixes for file format security issues (#4283) 2024-03-31 22:44:18 -05:00
jhendersonHDF 50d30bd4f0 Fix potential buffer read overflows in H5PB_read (#4279)
H5PB_read previously did not account for the fact that the size of the
read it's performing could overflow the page buffer pointer, depending
on the calculated offset for the read. This has been fixed by adjusting
the size of the read if it's determined that it would overflow the page.
2024-03-29 07:43:59 -05:00
jhendersonHDF 98c19af7c8 Fix range check in H5_addr_overlap (#4278)
When the H5_addr_overlap macro was updated to use H5_RANGE_OVERLAP,
it failed to take into account that H5_RANGE_OVERLAP expects the
range to be inclusive. This lead to an assertion failure in
H5MM_memcpy due to a memcpy operation on overlapping memory.
This has been fixed by subtracting 1 from the calculated high
bound values passed to H5_RANGE_OVERLAP
2024-03-29 07:41:42 -05:00
jhendersonHDF 03b6575b1b Minor fixes after merge of file format security fixes (#4263)
* Update H5_IS_BUFFER_OVERFLOW to account for 'size' of 0

* Invert a few checks to avoid function call
2024-03-28 11:49:50 -07:00
jhendersonHDF 372381c530 Prevent stack overflows in H5E__push_stack (#4264) 2024-03-28 11:12:19 -07:00