Commit Graph

2326 Commits

Author SHA1 Message Date
jhendersonHDF
e6ad84d6db
Add known issue for MacOS 14 _Float16 byte order detection issue (#4374) 2024-04-10 13:25:32 -05:00
Dana Robinson
0b4606aa1f
Added CVE info to RELEASE.txt (#4367) 2024-04-10 08:32:24 -05:00
H. Joe Lee
304f357d48
Match content listing with content. (#4357) 2024-04-09 09:13:46 -07:00
H. Joe Lee
a6d689a1d6
Fix grammar and content in HDF5Examples (#4333) 2024-04-06 07:21:18 -05:00
H. Joe Lee
c22b801c9d
Remove VS ptable error from Known Problems (#4317) 2024-04-03 10:48:27 -05:00
Allen Byrne
2f4e9b1392
PR merge workflows (#4303)
* Merge the Test Express workflows into the PR CI

* Split merge request triggers into autotools vs cmake
2024-04-02 14:22:04 -05:00
Dana Robinson
a314a7a497
Fix divide-by-zero when page buf page size is 0 (#4296)
If a corrupt file sets the page buffer size in the superblock to zero,
the library could attempt to divide by zero when allocating space in
the file. The library now checks for valid page buffer sizes when
reading the superblock message.

Fixes oss-fuzz issue 58762
2024-04-01 12:26:48 -07:00
Neil Fortner
589f5238fe
Fix problems with background buffers and array datatypes (#4218)
* Fix bug in array conversion with strided background buffer. Convert some
memmove calls to non-overlapping buffers to memcpy.

* Revert inappropriate use of mempy to memmove in H5T__conv_array

* Add testing

* Add RELEASE.txt note and overwrite test case.
2024-03-31 22:49:45 -05: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
Dana Robinson
855b95b34b
Relaxed behavior of H5Pset_page_buffer_size() when opening files (#4280)
This API call sets the size of a file's page buffer cache. This call
was extremely strict about matching its parameters to the file strategy
and page size used to create the file, requiring a separate open of the
file to obtain these parameters.

These requirements have been relaxed when using the fapl to open
a previously-created file:

* When opening a file that does not use the H5F_FSPACE_STRATEGY_PAGE
  strategy, the setting is ignored and the file will be opened, but
  without a page buffer cache. This was previously an error.

* When opening a file that has a page size larger than the desired
  page buffer cache size, the page buffer cache size will be increased
  to the file's page size. This was previously an error.

The behavior when creating a file using H5Pset_page_buffer_size() is
unchanged.

Fixes GitHub issue #3382
2024-03-29 11:46:31 -07:00
Larry Knox
64f86353d1
Remove CRLF from NEWSLETTER.txt. (#4282) 2024-03-29 09:34:46 -07: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
H. Joe Lee
6c54122042
Update Cygwin installation guide (#4265) 2024-03-28 14:40:28 -05:00
Dana Robinson
e908accadf
Add release note for CVE-2017-17507 (#4275) 2024-03-28 12:08:05 -07:00
Scot Breitenfeld
df9d2eafab
MPI type correction (#4268)
* corrected type for MPI_*_f2c APIs

* fixed return type of callback

* reset compilation flags of logical test program
2024-03-27 22:20:25 -05:00
Dana Robinson
74498cb211
Remove an error check regarding large cache objects (#4254)
* Remove an error check regarding large cache objects

In PR#4231 an assert() call was converted to a normal HDF5 error
check. It turns out that the original assert() was added by a
developer as a way of being alerted that large cache objects
existed instead of as a guard against incorrect behavior, making
it unnecessary in either debug or release builds.

The error check has been removed.

* Update RELEASE.txt
2024-03-27 10:55:28 -05:00
Dana Robinson
fb62a68888
Re-revert to using autoreconf in autogen.sh (#4253)
We previously tried removing the per-tool invocation of the Autotools
and instead simply invoked autoreconf (PR #1906). This was reverted
when it turned out that the NAG Fortran compiler had trouble with an
undecorated -shared linker flag.

It turns out that this is due to a bug in libtool 2.4.2 and earlier.
Since this version of libtool is over a decade old, we're un-reverting
the change. We've added a release note for anyone who has to build
from source on elderly platforms.

Fixes #1343
2024-03-27 08:05:21 -05:00
Dana Robinson
fc46c83614
Take user block into account when returning chunk addresses (#4236)
Both H5Dchunk_iter() and H5Dget_chunk_info(_by_coord)() did not take
the size of the user block into account when reporting addresses. Since
the #1 use of these functions is to root around in the file for the raw
data, this is kind of a problem.

Fixes GitHub issue #3003
2024-03-25 19:27:14 -07:00
Dana Robinson
3e9c2a6a5c
Fixed a cache assert with too-large metadata objects (#4231)
If the library tries to load a metadata object that is above the
library's hard-coded limits, the size will trip an assert in debug
builds. In HDF5 1.14.4, this can happen if you create a very large
number of links in an old-style group that uses local heaps.

The library will now emit a normal error when it tries to load a
metadata object that is too large.

Partially addresses GitHub #3762
2024-03-24 22:07:01 -05:00
jhendersonHDF
c4cc33abe1
Fix issue with Subfiling VFD and multiple opens of same file (#4194)
* Fix issue with Subfiling VFD and multiple opens of same file

* Update H5_subfile_fid_to_context to return error value instead of ID

* Add helper routine to initialize open file mapping
2024-03-21 17:39:13 -07:00
Allen Byrne
874c473f34
Suggested header footer for NEWSLETTER (#4204)
* Suggested header footer for NEWSLETTER

* Updates

* Add NEWSLETTER.txt to h5vers script
2024-03-21 09:11:10 -07:00
jhendersonHDF
2d09c77325
Add NEWSLETTER item about _Float16 support (#4197) 2024-03-20 16:44:54 -05:00
jhendersonHDF
e9f0464352
Add RELEASE.txt note for recent datatype conversion improvements (#4195) 2024-03-20 16:44:34 -05:00
bmribler
4af02c213c
Update Release Specific Information link. (#4179) 2024-03-19 09:22:20 -07:00
H. Joe Lee
9806b96ad0
Capitalize linux for consistency (#4178) 2024-03-19 04:58:03 -07:00
mattjala
e80272eb21
Add RELEASE.txt note for cmpd segfault fix (#4175)
RELEASE notice for the fix in #3842
2024-03-18 21:52:31 -07:00
jhendersonHDF
330b80a266
Add support for _Float16 16-bit floating point type (#4065)
Fixed some conversion issues with Clang due to problematic undefined
behavior when casting a negative floating-point value to an integer

Fixed a bug in the library's software integer to floating-point
conversion function where a user's conversion exception function
returning H5T_CONV_UNHANDLED in the case of overflows would result in
incorrect data after conversion

Added configure checks for functions and macros related to _Float16
usage since some compilers expose the datatype but not the functions or
macros

Fixed a dt_arith test failure when H5_WANT_DCONV_EXCEPTION isn't defined

Fixed a few warnings from not explicitly casting some _Float16 variables
upwards
2024-03-18 21:36:46 -07:00
Dana Robinson
344ba97fec
Allow H5Soffset_simple to accept NULL offsets (#4152)
The reference manual states that the offset parameter of H5Soffset_simple()
  can be set to NULL to reset the offset of a simple dataspace to 0. This
  has never been true, and passing NULL was regarded as an error.

  The library will now accept NULL for the offset parameter and will
  correctly set the offset to zero.

  Fixes HDFFV-9299
2024-03-18 06:57:52 -07:00
jhendersonHDF
840476ead8
Fix an issue where the Subfiling VFD's context cache grows too large (#4159) 2024-03-17 18:48:16 -07:00
H. Joe Lee
3861c0c777
Remove at the end of list item. (#4151) 2024-03-15 13:00:47 -07:00
Dana Robinson
26837b4af8
Make the newsletter scheme work like HDF4 (#4149) 2024-03-15 10:36:18 -07:00
Neil Fortner
40e1c6d078
Fix error when overwriting an indirectly nested vlen with a shorter sequence (#4140) 2024-03-15 09:26:56 -07:00
Dana Robinson
c7c8b93d06
Fix Autotools -Werror cleanup (#4144)
The Autotools temporarily scrub -Werror(=whatever) from CFLAGS, etc.
  so configure checks don't trip over warnings generated by configure
  check programs. The sed line originally only scrubbed -Werror but not
  -Werror=something, which would cause errors when the '=something' was
  left behind in CFLAGS.

  The sed line has been updated to handle -Werror=something lines.

  Fixes one issue raised in #3872
2024-03-15 07:41:07 -05:00
bmribler
782c0e5a8c
Update URLs in RELEASE.txt (#4132) 2024-03-14 07:15:16 -07:00
Allen Byrne
ca4db46c5a
Deprecate bin/cmakehdf5 (#4127)
* Deprecate bin/cmakehdf5

* Add reference text
2024-03-13 08:02:47 -07:00
Dana Robinson
56f1092ddb
Overhaul CMake LFS support (#4122)
Externally visible:
* The HDF_ENABLE_LARGE_FILE option (advanced) has been removed
* We no longer run a test program to determine if LFS works, which
  will help with cross-compiling
* On Linux we now unilaterally set -D_LARGEFILE_SOURCE and
  -D_FILE_OFFSET_BITS=64, regardless of 32/64 bit system. CMake
  doesn't offer a nice equivalent to AC_SYS_LARGEFILE and since
  those options do nothing on 64-bit systems, this seems safe and
  covers all our bases. We don't set -D_LARGEFILE64_SOURCE since
  we don't use any of the POSIX 64-bit specific API calls like
  ftello64, as noted above.
* We didn't test for LFS support on non-Linux platforms. We've added
  comments for how LFS should probably be supported on AIX and Solaris,
  which seem to be alive, though uncommon. PRs would be appreciated if
  anyone wishes to test this.

Internal:
* Drops off64_t size checks since this is unused (as in Autotools)
* Remove HDF_EXTRA_FLAGS, which is now unused
* Remove hack around deprecated LINUX_LFS

Fixes #2395
2024-03-12 14:36:50 -07:00
Allen Byrne
50a6522322
Change compression tests reference files to use masking for compression ratios (#4083)
Rework TEST_FILTER tests to handle slightly different compression ratios
2024-03-10 16:43:37 -07:00
Dana Robinson
3d09a7d5f6
Remove H5B debug checks (#4089)
The H5B (version 1 B-tree) package would add some computationally
expensive integrity checks when H5B_DEBUG was defined. Due to their
negative effects on performance, this option was rarely turned on,
making the H5B__assert() check function stale, if not dead, code.

This change:

* Builds H5B__assert() when NDEBUG is not defined (the function
  relies on assert()) so it gets compiled more often.
* Removes some printf debugging statements in the B-tree code
* Removes all H5B "extra debug" checks that are leftover from
  past debugging sessions. Maintainers can add H5B__assert()
  selectively to perform integrity checks when debugging.
* Removes the HDF5_ENABLE_DEBUG_H5B CMake option

H5B_DEBUG now has no effect
2024-03-08 23:17:13 -08:00
Scot Breitenfeld
7de7c25646
update macOS support statement (#4084) 2024-03-07 19:05:10 -08:00
Dana Robinson
b0af7cf58b
Fixed asserts due to H5Pset_est_link_info() values (#4081)
* Fixed asserts due to H5Pset_est_link_info() values

If large values for est_num_entries and/or est_name_len were passed
to H5Pset_est_link_info(), the library would attempt to create an
object header NIL message to reserve enough space to hold the links in
compact form (i.e., concatenated), which could exceed allowable object
header message size limits and trip asserts in the library.

This bug only occurred when using the HDF5 1.8 file format or later and
required the product of the two values to be ~64k more than the size
of any links written to the group, which would cause the library to
write out a too-large NIL spacer message to reserve the space for the
unwritten links.

The library now inspects the phase change values to see if the dataset
is likely to be compact and checks the size to ensure any NIL spacer
messages won't be larger than the library allows.

Fixes GitHub #1632

* Fix copy-paste comments
2024-03-07 18:36:58 -08:00
Allen Byrne
c872acae63
New option for building with static CRT in Windows (#4062) 2024-03-07 09:27:56 -08:00
Dana Robinson
30c34f927d
Add support for the new MSVC preprocessor (#4078)
Microsoft has added a new, standards-conformant preprocessor
to MSVC, which can be enabled with /Zc:preprocessor. This
preprocessor trips over our HDopen() function-like variadic
macro since it uses a hack that only works with the legacy
MSVC preprocessor.

This fix adds ifdefs to use the correct HDopen() macro
depending on the MSVC preprocessor selected.

Fixes #2515
2024-03-07 08:52:32 -08:00
Scot Breitenfeld
9d8e882496
Added new H5E with tests. (#4049)
Added Fortran H5E APIs:
h5eregister_class_f, h5eunregister_class_f, h5ecreate_msg_f, h5eclose_msg_f
h5eget_msg_f, h5epush_f, h5eget_num_f, h5ewalk_f, h5eget_class_name_f,
h5eappend_stack_f, h5eget_current_stack_f, h5eset_current_stack_f, h5ecreate_stack_f,
h5eclose_stack_f, h5epop_f, h5eprint_f (C h5eprint v2 signature)

Addresses Issue #3987
2024-03-07 03:34:55 -08:00
Allen Byrne
129d80d208
Update INSTALL files (#4052) 2024-03-05 14:42:08 -08:00
Allen Byrne
0be892585a
Rename incorrectly named option (#4067)
* Rename incorrectly named option

* Restore the correct uses of USING_MEMCHECKER

* Update release note
2024-03-05 09:07:16 -08:00
jhendersonHDF
f5f6975c2f
Fix issue where H5Tset_fields does not account for datatype offsets (#4061)
H5Tset_fields did not account for any offset in a floating-point datatype,
causing it to fail when a datatype's precision is correctly set such that
it doesn't include the offset bits.
2024-03-05 08:23:34 -06:00
Allen Byrne
7ce8c6f81a
Add options to allow tools type selection and naming (#4046) 2024-03-04 06:53:52 -08:00
jhendersonHDF
221e429578
Fix memory leak in H5LTopen_file_image when H5LT_FILE_IMAGE_DONT_COPY flag is used (#4021)
When the H5LT_FILE_IMAGE_DONT_COPY flag is passed to H5LTopen_file_image, the internally-allocated
udata structure gets leaked as the core file driver doesn't have a way to determine when or if it
needs to call the 'udata_free' callback. This has been fixed by freeing the udata structure when
the 'image_free' callback gets made during file close, where the file is holding the last reference
to the udata structure.
2024-02-26 08:52:33 -08:00
Allen Byrne
3fd1e90df6
Update and Add general INSTALL (#4016) 2024-02-23 08:02:18 -06:00
jhendersonHDF
46f7aa75fd
Fix H5F_get_access_plist to copy file locking settings (#4030)
H5F_get_access_plist previously did not copy over the file locking settings
from a file into the new File Access Property List that it creates. This would
make it difficult to match the file locking settings between an external file
and its parent file.
2024-02-22 14:52:36 -06:00