* Fixes a stack overflow in the h5dump test generator
The opaque type size was declared to be the size of the "buffer of two
opaque elements", causing a memcpy call in H5Dwrite to read outside
the buffer, dumping garbage into the file.
Note that this only affected the test generator and not h5dump itself.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fixes warnings when the deflate filter is not built
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Removes the small perf tool
This tool doesn't really do anything special and installed, which
conflicts with gnu's perf tool.
* Adds suggestions from code review
* Fix for a tools compile issue when deprecated symbols are disabled
Introduced in #1811, also uses VOL token instead of addr
* Fix for similar compile issues in java when deprecated symbols are
disabled.
* Committing clang-format changes
Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Rework java vl check in read/write. Handle old refs in h5dump
* Committing clang-format changes
* Java changes allow default VL reads
* Fix JNI utility for old refs
* HDFFV-11310 - implement vlen read/write for atomic types.
* format check fix
* Mostly format fixes
* More format issues
* Two format changes
* Use JNI names for sizeof
* format change
* fix size typo
* Change to older method to initialize list
* remove unused var
* format fix
* switch writeVL functions to use datatype instead of java type
* Add VL option to generic read/write check
* Correct function name typo
* Add JIRA issue
* Correct note to match change in code.
* HDFFV-11318 add VL references as byte arrays
* Add release note and format changes
* Another format update
* Fix unreleased allocations
* Fix format
* format correction
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Minor clang warning fixes in src and test
* Fixes clang warnings in high-level library
* clang format-nonliteral warning fixes
* Committing clang-format changes
* Fixed int -> float clang cast warnings in h5diff
* Quiets some warnings in flex/bison generated code
* Suppress overlong string warning for libinfo on clang
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fixes for production mode gcc warnings
With the strict-overflow changes, this brings the number of warnings
in the C library w/ gcc 12 to zero.
* Fix typo
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Adds format attribute to (s|p)io_perf code
* Added gcc format attribute to additional test code
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
When the filename was flipped from being a static array to being
dynamically allocated, the sizeof(filename) call wasn't updated.
This always returns the size of the pointer, truncating the
filename.
* Straightforward conversion of sprintf to the safer snprintf
* Trickier conversion of sprintf to safer snprintf
This involved minor changes to private function signatures to take the size of the buffer.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fixed -Wreserved-id-macro warnings from header include guards
* Removed all __int64 and LL suffix stuff now that C99 is minimum requirement
* Rename `H5FD_CTL__` to `H5FD_CTL_` to fix -Wreserved-id-macro warnings
Double underscore is reserved in C++ and this public header should be C++ compatible.
* Never define __STDC_FORMAT_MACROS anymore
Defining it causes a -Wreserved-id-macro.
Happily, according to the C++11 standard:
"The macros defined by <stdint> are provided unconditionally. In particular, the symbols __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS (mentioned in C99 footnotes 219, 220, and 222) play no role in C++."
https://cplusplus.github.io/LWG/issue984
So looks like it's not necessary to define it with reasonably new toolchains.
* Fixed some -Wunused-macros warnings, removed dead code
* Fixed all -Wdouble-promotion warnings in C++ files
* Fixed remaining -Wsuggest-destructor-override warnings
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Correct some conversion specifications.
* Replace many "%lld" occurrences with "%" PRIuHSIZE except for a few
instances where PRIdHSIZE was appropriate. Remove a couple of casts and
use correct format strings, instead.
* Copy values from a possibly unaligned buffer to aligned local variables
instead of casting and dereferencing pointers into the buffer.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
truncated because the recipient buffer was too small, and the warning is
one that we promote to an error. Now there is a warning that the buffer
is too big (-Wlarger-than=), but we don't promote those to errors, yet.
* Replaced many uses of sprintf with safer snprintf
Many very straightforward, but in a few cases added a length parameter to some private functions, because buffer length was otherwise unknowable.
* Removed unnecessary use of static on small buffers
This improves thread safety.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Remove const from the argv tools/tests main sig.
* also remove const from H5_get_option and parse_command_line.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Create 2D arrays on the heap by malloc'ing `struct { TYPE arr[ROWS][COLS];
}`. This avoids the double-indirection through pointers and the
additional memory of H5TEST_ALLOCATE_2D_ARRAY().
This change will safely quiet the cast warning that PR #1129 was
intended to fix.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Avoid calling H5Ropen_object with a misaligned H5R_ref_t: copy the
raw H5R_ref_t bytes to a heap buffer that's known to have the right
alignment.
* Committing clang-format changes
* Use an automatic H5R_ref_t instead of malloc'ing one. Go ahead and
initialize the H5R_ref_t to all-0s so that arbitrary stack content
doesn't foul things up. Bail out with an error if `size` exceeds
`sizeof(H5R_ref_t)`.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Committing clang-format changes
* Assume C99 fixed sized ints exist, use them
* Assume H5_SIZEOF_LONG_DOUBLE != 0, `long double` has existed since C89
Note, this is only assuming that `long double` exists, no assumptions about its size have been touched. Didn't remove any code that does things like test if `long double` and `double` have different sizes.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Move test utilities to utils/test folder
* Fix makefile assignment
* Add new dir
* add new folder
* Correct copied makefile
* Fix dir typo
* Add missing include dir
* Remove unnecessary lib link
* Correct dependent dirs
* Fix conditional checks
* Disable test if not built
* fix path to executable
* Use fixture for swmr_vfd check
* Add release note
* Correct shell tests and c++ flag warning
* Update autotools c++ warning
* Fix typo