Commit Graph
24160 Commits
Author SHA1 Message Date
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
Scot Breitenfeld 877cbf79a7 Adds new subfiling API H5FDsubfiling_get_file_mapping() (#5828)
Adds H5FDsubfiling_get_file_mapping() API to map logical HDF5 files to physical subfiles, with Fortran support and comprehensive testing.

Adds H5FDsubfiling_get_file_mapping() in H5FDsubfiling.c to retrieve subfile paths for a logical HDF5 file.
Updates Fortran interface in H5VFDff.F90 to include h5fdsubfiling_get_file_mapping_f().

Updates h5fuse.in to support a list of subfiles for processing with a new -l option.
2025-09-26 11:30:16 -05:00
H. Joe Lee 2e88b9da1a ci: free space for nvhpc.yml (#5881)
close #5880
2025-09-26 11:13:52 -05:00
bmribler 86149a0988 Fixes CVE-2025-6750 (#5856)
* Fixes CVE-2025-6750

A heap buffer overflow occurred because an mtime message was not properly decoded, resulting in a buffer of size 0 being passed into the encoder.

This PR added decoding for both old and new mtime messages which will allow invalid message size to be detected.

Fixes #5549
2025-09-26 10:46:50 -05:00
Allen Byrne 01dfee4e00 ignore local .claude folder (#5865) 2025-09-26 10:39:26 -05:00
Larry Knox 8073ad8849 Update h5vers and release scripts to handle change from RELEASE.txt to CHANGELOG.md (#5875)
* Updated h5vers and release scripts to handle change from RELEASE.txt to
CHANGELOG.md.

* Added links to wiki and cdash for Platforms Tested.

* Don't use heading format for version lines at top of README.md and
CHANGELOG.md files.
2025-09-26 10:29:59 -05:00
bmribler 3914bb7f7e Fixed CVE-2025-6269 (#5850)
The GitHub issue #5579 included several security vulnerabilities in function
H5C__reconstruct_cache_entry().

This PR addressed them by:
- adding buffer size argument to the function
- adding buffer overflow checks
- adding input validations
- releasing allocated resource on failure

These changes addressed the crashes reported.  However, there is a skiplist
crash during the unwinding process that has to be investigated.
2025-09-25 21:17:14 -05:00
Matt L fe7ae303b1 Add missing cleanup dependency to h5repack tests (#5878)
* Fix overwriting dependency list
2025-09-25 17:10:24 -05:00
Matt L d072fcce90 Merge h5repack test macros (#5792) 2025-09-25 08:57:14 -05:00
Lori Cooper 86551f46ef More minor Changelog changes (#5876)
* Known Problems items change from h3 (###) to bullet points
2025-09-25 08:02:56 -05:00
Dana Robinson 562a2e2d0c Fix scale-offset filter errors (#5864)
A security fix from 1.14.6 introduced a regression in the scale-offset
filter where normal data values could cause the library to emit an
error (not a crash/segfault).

Fixes GitHub #5861
2025-09-24 20:16:40 -05:00
Larry Knox ad82570cfe Move macos-26-matrix.yml workflow to run nightly. (#5867) 2025-09-24 14:21:29 -05:00
Matt L fdabc30649 Generate VOL tests for h5ls (#5769)
* Generate VOL tests for h5ls
* Update workflow
* Rework test skipping
Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org>
2025-09-24 11:54:52 -05:00
Scot Breitenfeld 06d63b66be improvements to publishing action (#5860)
✅ Fixed Critical Issues

  1. Corrected variable name (inputs.use_hdf → inputs.file_name)
  2. Pinned action versions to specific, secure releases
  3. Added input validation with regex patterns and path traversal
  protection
  4. Enhanced error handling with file existence checks

  🛡️ Security Enhancements

  5. Restricted S3 sync with explicit include/exclude patterns
  6. Added dry-run mode for safe testing
  7. Input sanitization to prevent malicious inputs
  8. Updated to latest action versions with known security fixes

  🚀 Reliability Improvements

  9. File verification steps before processing
  10. Graceful handling of missing optional files
  11. Better error messages and status reporting
  12. Timeout protection (30 minutes max)
  13. Proper content-type headers for HTML files

  📊 Operational Improvements

  14. Detailed logging with emojis for easy scanning
  15. Comprehensive summary at the end
  16. Conditional execution based on file availability
  17. Proper AWS CLI options (--exact-timestamps, --metadata-directive)
2025-09-24 11:07:48 -05:00
Aleksandar Jelenak fb570863ce Improve Markdown formatting (#5863) 2025-09-24 10:30:07 -04:00
Larry Knox ef171e05bb Remove NEWSLETTER files. (#5859)
* Remove NEWSLETTER files.
Update tarball.yml and release-files.yml to upload description for
snapshots and releases.

* Add path to CHANGELOG.md in tarball.yml.
2025-09-23 16:18:54 -05:00
Lori Cooper 507d7cec8a Added exec summary to changelog, misc other small fixes/corrections. (#5845)
* Pull Release/snapshot description from Executive Summary of
CHANGELOG.md.

* Change bullets to h3 headings (###)
2025-09-22 15:56:51 -05:00
Matt L 9d2134e24a Add missing test files to h5gentest --h5repack (#5791)
* Add missing test files to h5gentest --h5repack  and update generator routines for type handling.
2025-09-22 08:42:55 -05:00
Scot Breitenfeld b0fb7ebb2a Fix issue left hand panel issue (#5855) 2025-09-22 08:05:16 -05:00
H. Joe Lee 19d1166ab1 Adds macOS-26 matrix testing workflow to CI for diverse build configurations. 2025-09-22 08:04:15 -05:00
Matt L 6ea1f50431 Generate VOL tests for h5mkgrp (#5772)
* Rework h5mkgrp ADD_H5_TEST

* Generate VOL tests for h5mkgrp

* Fix h5ls-verification test not being skipped with regex
2025-09-20 12:23:32 -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
Dana Robinson fe8de456ae Use SSIZE_T for ssize_t on Windows (#5811)
The PR adds a compile assert to ensure that size_t and ssize_t
have the same size, just to be sure.

* Use SSIZE_T for ssize_t on Windows

* Use SSIZE_T and SSIZE_T_MAX

* Add missing header

* Exclude MinGW from ssize_t ifdefs
2025-09-19 08:09:58 -05:00
Allen Byrne ceea2c35de Allow cygwin to finish (#5844)
* Use env var to only show test output if there is a failure

* Remove the -VV from the command line

* Increase time and do one V
2025-09-17 22:09:14 -05:00
Dana Robinson c656ed8a27 Fix protection for __builtin_expect() in H5public.h (#5840)
This feature is required to be in H5public.h, but is protected by
an HDF5 feature test macro that will soon be private. There is also
no guarantee that the compiler used to build the software has the
same support for __builtin_expect() that the application compiler
has.

This PR updates the feature test checks for __builtin_expect()

Partial fix for #5819
2025-09-16 22:05:55 -05:00
Lori Cooper 6caaf23f6c Replace the RELEASE.txt file with CHANGELOG.md (#5778) 2025-09-16 15:41:39 -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
dependabot[bot] 957a509151 Bump lycheeverse/lychee-action from 1.9.3 to 2.0.2 in /.github/workflows (#5836) 2025-09-16 07:55:32 -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
Dana Robinson 3b47e2d227 Remove hbool_t from the public API (#5802)
* Remove hbool_t from the public API

This was previously removed from the source code, but the API calls
retained hbool_t in the public API calls. This commit removes
hbool_t from the public APIs.

hbool_t is retained as a typedef for bool in H5public.h so existing
code doesn't break.
2025-09-15 17:36:22 -05:00
Scot Breitenfeld 336318301c fixed linkchecker filename (#5827) 2025-09-15 14:46:42 -05:00
Dana Robinson f475d00cce Move H5pubconf.h.in from config to src (#5822) 2025-09-15 14:45:53 -05:00
Dana Robinson 5be9b57ccc Remove checks for sys/types.h (#5821)
This is present on all systems we support, including Windows. There is
no reason to check for it or hide its inclusion behind ifdefs.
2025-09-15 12:38:08 -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
Dana Robinson 8bcb79444b Don't include features.h in H5public.h (#5818)
This file is intended for internal glibc use and should not be included
from user code. Instead, you are supposed to set appropriate feature
test macros like _POSIX_C_SOURCE before including C/POSIX library
headers, which we already do.
2025-09-15 08:16:53 -05:00
Dana Robinson ecb4d5a8ef Update the include guard in H5pubconf.h (#5820) 2025-09-15 08:15:01 -05:00
Dana Robinson de775251ab Fix an snprintf warning in H5match_types.c (#5825)
gcc complains about writing too many characters into a buffer since
we're writing from a 2D array. This limits the output and quiets
the warnings.
2025-09-15 08:06:36 -05:00
Matt L 0a73bd9b57 Merge h5dump test macros (#5752) 2025-09-15 08:00:53 -05:00
Glenn Song 0a57195ca6 Fix CVE-2025-2924 (#5814) 2025-09-15 07:56:54 -05:00
Neil Fortner 57a2805f71 Doxygen updates for functions that use printf expansion (#5816)
* Doxygen updates related to printf parsing in family, multi, and split
drivers, and VDS. Update error message.
2025-09-15 07:54:47 -05:00
Scot Breitenfeld 54d34a2505 Link Checker Fix (#5826)
* Fixed the link checker error where table headers
  contained (\# of rows) and (\# of columns) with escaped hash symbols that Doxygen was
  incorrectly interpreting as malformed links.
2025-09-15 07:32:04 -05:00
Dana Robinson 683f80ac4b Remove 'cmake' from GitHub workflow yml filenames (#5824)
Now that we are CMake-only, there is no need to use cmake in the
GitHub CI yml filenames.
2025-09-14 20:40:39 -05:00
Scot Breitenfeld 0d3045f7cb Switched link checker (#5807)
Switch link checker to Lychee in GitHub workflow to reduce false positives and update workflow schedules and documentation links.
2025-09-12 22:08:22 -05:00
Dana Robinson 2a756b087f Remove "CMake" from CI names, descriptions, etc. (#5813)
These are leftovers from when the CI included Autotools builds.

Also changes ctest --> CTest in a few places.
2025-09-12 09:24:12 -05:00
Larry Knox fcfda621ba Allow setting CTEST_BUILD_NAME (#5812)
to set the test configuration Build Name for CDash.
2025-09-11 21:59:01 -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
Dana Robinson 3776a66e8a Rename libhdf5.settings.cmake.in -> libhdf5.settings.in (#5805)
The `cmake` part of the name is an artifact from when there were
Autotools and CMake versions of this file.
2025-09-11 08:32:00 -05:00
Larry Knox ecc9b615ec Increment version subrelease digit to -2 (#5797) 2025-09-10 13:23:05 -05:00