Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use of non-VOL functions where VOL functions should have been #4730

Closed
bmribler opened this issue Aug 19, 2024 · 1 comment · Fixed by #4745, #4756, #4748 or #4771
Closed

Use of non-VOL functions where VOL functions should have been #4730

bmribler opened this issue Aug 19, 2024 · 1 comment · Fixed by #4745, #4756, #4748 or #4771
Assignees
Labels
Component - C Library Core C library issues (usually in the src directory) Priority - 1. High 🔼 These are important issues that should be resolved in the next release Type - Bug / Bugfix Please report security issues to [email protected] instead of creating an issue on GitHub

Comments

@bmribler
Copy link
Contributor

bmribler commented Aug 19, 2024

This is a continuation of issue GH-4705.

Potentially affected files:

Part 1: This includes the replacement of both H5I_object and H5I_object_verify (PR #4745)
    H5A.c
    H5D.c
    H5Ddeprec.c
    H5VLint.c

Part 2: This includes the replacement of only H5I_object
    H5F.c
    H5Fdeprec.c
    H5Fmpi.c
    H5G.c
    H5L.c
    H5Ldeprec.c
    H5M.c
    H5O.c
    H5Odeprec.c
    H5T.c
    H5Tcommit.c
    H5Tdeprec.c
    H5Z.c
@bmribler bmribler self-assigned this Aug 19, 2024
@bmribler bmribler added Merge - To 1.14 Priority - 1. High 🔼 These are important issues that should be resolved in the next release Component - C Library Core C library issues (usually in the src directory) Type - Bug / Bugfix Please report security issues to [email protected] instead of creating an issue on GitHub labels Aug 19, 2024
bmribler added a commit to bmribler/hdf5_bmr23 that referenced this issue Aug 19, 2024
H5Lget_info2() called H5I_object() instead of H5VL_vol_object() crashed
user application.
This is a wide-spread issue (HDFGroupGH-4730) but this PR only addresses HDFGroupGH-4705.
lrknox pushed a commit that referenced this issue Aug 21, 2024
* Fix incorrect VOL vs. non-VOL calls

H5Lget_info2() called H5I_object() instead of H5VL_vol_object() crashed
user application.
This is a wide-spread issue (GH-4730) but this PR only addresses GH-4705.

* Remove an incorrect change
lrknox pushed a commit to lrknox/hdf5 that referenced this issue Aug 21, 2024
* Fix incorrect VOL vs. non-VOL calls

H5Lget_info2() called H5I_object() instead of H5VL_vol_object() crashed
user application.
This is a wide-spread issue (HDFGroupGH-4730) but this PR only addresses HDFGroupGH-4705.

* Remove an incorrect change
bmribler added a commit to bmribler/hdf5_bmr23 that referenced this issue Aug 22, 2024
This PR is part of the incremental switching H5I_object() and H5I_object_verify()
to their VOL counterpart, H5VL_object() and H5VL_vol_object_verify(), a newly addedinternal function.

Fixes HDFGroupGH-4730 partially.
lrknox added a commit that referenced this issue Aug 22, 2024
* Warning fix (#4682)

* warning fix

* warning fix

* CMake link line needs to use new HDF5_ENABLE_THREADS (#4685)

* Correct the properties for using THREADS library (#4690)

* Bump the github-actions group with 5 updates (#4688)

Bumps the github-actions group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `4.1.7` | `4.1.8` |
| [DoozyX/clang-format-lint-action](https://github.com/doozyx/clang-format-lint-action) | `0.13` | `0.17` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `2.0.6` | `2.0.8` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.3.3` | `2.4.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.25.11` | `3.25.15` |


Updates `actions/download-artifact` from 4.1.7 to 4.1.8
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@65a9edc...fa0a91b)

Updates `DoozyX/clang-format-lint-action` from 0.13 to 0.17
- [Release notes](https://github.com/doozyx/clang-format-lint-action/releases)
- [Commits](DoozyX/clang-format-lint-action@v0.13...v0.17)

Updates `softprops/action-gh-release` from 2.0.6 to 2.0.8
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@a74c6b7...c062e08)

Updates `ossf/scorecard-action` from 2.3.3 to 2.4.0
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](ossf/scorecard-action@dc50aa9...62b2cac)

Updates `github/codeql-action` from 3.25.11 to 3.25.15
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@b611370...afb54ba)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: DoozyX/clang-format-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

* Fix segfault when closing datatype during failure in H5Topen2 (#4683)

* Rework Dynamic Analysis and sanitize testing (#4681)

* Ignore predetermined failing test and check pointer before use

* Rework Analysis process

* Remove another H5E_BEGIN/END_TRY within the library (#4675)

* Update logic for (deprecated) H5Gget_objinfo() call to eliminate H5E_BEGIN_TRY

* Handle case for '.' at the end of a path

* Drop H5E_BEGIN/END_TRY and just check the error return from H5I_clear_types() (#4694)

Original case that the change in commit 2dc738a
no longer applies.

* Add check of returned value from API calls. (#4702)

These were found while investigating GH-4672, but they were not related
to GH-4672.

* Add mac dmg binary and remove old macos-13 workflows (#4699)

* Add Windows SHLWAPI lib to public interface (#4701)

* Use local variable in btree2 and print value (#4679)

* Correct logic

* Technically, level 1 Express could skip tests

* Add windows signing (#4703)

* Add tests for H5R get name APIs (#4657)

Added functionality tests for the following APIs:
H5Rget_file_name
H5Rget_obj_name
H5Rget_attr_name

Also removed "+1" when returning a name length in H5R__get_attr_name().
The exter "+1" gave an incorrect value for the length of the referenced
object's attribute name.

Fixed GH-4447

* Fix Fortran test

The C API H5Rget_attr_name incorrectly added 1 to the length of the
referenced object's attribute name, so the Fortran API h5rget_attr_name_f
removed 1 from the returned value to accommodate the incorrectness.
This PR fixes H5Rget_attr_name so this workaround in h5rget_attr_name_f
is no longer needed.

* Add test H5Aget_name against H5Rget_attr_name

* Replace Visual Studio ???? with 2022 in MSI README file (#4709)

* Change logic for checking secrets exists (#4711)

* Change osx refs to macos (#4707)

* Replace alias \Code with \TText (#4714)

Fixed GH-2151

* Correct signing names and variables (#4713)

* Add secrets to release workflow (#4719)

* Add missing blosc2 info (#4717)

* Fix error return types in H5Rdeprec.c (#4722)

Copy-pasted code from elsewhere used FAIL instead of H5G_UNKNOWN
and H5I_INVALID_HID.

* Fix the release reference name (#4721)

* Test creating unseekable file (#4720)

* Cleanup up tests (#4724)

* Add arch name to dmg file name (#4732)

The binaries in snapshot dmg file do not work on x86_64.

* Fix snapshot CI failure by adding arch name to dmg file (#4734)

See also #4732.

* Fix incorrect VOL vs. non-VOL calls partially (#4733)

* Fix incorrect VOL vs. non-VOL calls

H5Lget_info2() called H5I_object() instead of H5VL_vol_object() crashed
user application.
This is a wide-spread issue (GH-4730) but this PR only addresses GH-4705.

* Remove an incorrect change

* Fix segfault in ROS3 credential parsing (#4736)

* Fix segfault in s3 credential parsing

* Fix AWS cred parsing when >1 profile provided

* Revert gh-pages action hash to fix daily build (#4735)

* Revert gh-pages action hash to fix daily build

See also #4734

* Revert gh-pages action hash to fix daily build

* Eliminate another use of H5E_clear_stack() within the library (#4726)

* Remove call to H5E_clear_stack()

Also clean up a bunch of error macros and the return value from H5B_valid()
@lrknox lrknox closed this as completed in a03203a Aug 22, 2024
@bmribler bmribler reopened this Aug 22, 2024
@bmribler
Copy link
Contributor Author

Only partially fixed.

bmribler added a commit to bmribler/hdf5_bmr23 that referenced this issue Aug 27, 2024
                                                                                        This PR switches H5I_object() to H5VL_vol_object() in H5O and H5T APIs.                 H5M is the last one and left out of this PR because it needs more work
in documentation and there is no test for the API functions.

Fixes HDFGroupGH-4730
lrknox pushed a commit to lrknox/hdf5 that referenced this issue Aug 27, 2024
This PR is part of the incremental switching H5I_object() and H5I_object_verify()
to their VOL counterpart, H5VL_object() and H5VL_vol_object_verify(), a newly addedinternal function.

Fixes HDFGroupGH-4730 partially.
derobins added a commit that referenced this issue Aug 27, 2024
* Use gfortran 14 for cmake-ctest.yml on mac (#4739)

* Use gfortran 14 for cmake-test on mac

* Remove notarization step

* Address @byrnHDF review

* Fix enum type mismatch warning (#4741)

* Fix macro redefined warnings (#4744)

Removes a duplicated HDopen macro from the performance testing programs

* Update nvhpc CI version to 24.7 (#4740)

* Return basic HTTP range GET logging to ROS3 (#4738)

* Add minimal amount of S3 request logging to ROS3

* Fix ROS3 logging ifdef conditions

* Replace non-VOL calls with VOL calls - part 1 (#4745)

This PR is part of the incremental switching H5I_object() and H5I_object_verify()
to their VOL counterpart, H5VL_object() and H5VL_vol_object_verify(), a newly addedinternal function.

Fixes GH-4730 partially.

* Fix inconsistent documentation of get_name functions (#4715)

- Verified that the listed functions do not include null terminator in the returned length
- Improved some of the tests
- Corrected documentation

Fixes GH-4704

* Casted a positive int to size_t

* Remove HDF-EOS5 CI action (#4750)

The code can't be downloaded due to changes that put it behind an
EarthData login. We'll disable this while we figure out a work-around.

* Replace non-VOL calls with VOL calls - part 2 (#4748)

This PR switches H5I_object_verify() to H5VL_vol_object_verify() in the H5F API
and fixes documentation of H5Fmount and H5Funmount.

* More on H5F API

* Restore rand_r in a few parallel tests (#4749)

The t_pmulti_dset and t_select_io_dset tests rely on the behavior
of the previous private rand_r-like implementation to get the
correct sequence of random numbers to pass. This has been restored
using a fully private rand_r-like implementation that doesn't
rely on rand_r and will work on Windows and other platforms
where rand_r doesn't exist.

* Don't run AOCC parallel tests with -j2 (#4752)

Don't run parallel tests in both Autotools and CMake with multiple
processes. ph5diff still runs with -j2 w/ Autotools since the test
script is in the tools/test/h5diff directory.

* Split off AOCC CMake parallel tests

* Remove unnecessary NPROCS env vars

* Put NPROCS back in serial tests

We run ph5diff tests there

* Replace non-VOL calls with VOL calls - part 3 (#4756)

This PR switches H5I_object_verify() to H5VL_vol_object_verify() in the H5G API
and removes unnecessary casts.

* Turn on parallel CI tests in Autotools & CMake (#4573)

* Fix typo in H5Centry.c (#4762)

* Set/Unset VOL wrapping context in H5VL_attr_close (#4759)

* Add missing C++ and Fortran to Intel oneAPI CI (#4761)

* Add Fortran and C++ to Autotools
* Add Fortran and C++ to Linux CMake
* Add C++ to Windows CMake
* Fix bad GitHub workspace variable

* Remove early test exit (#4757)

* Don't skip file tests

* Remove test with invalid flag for H5Fopen

* Verify that create/open of unseekable file fails

* Remove failure verification

* Restore Julia CI (#4763)

Fixes #4539

* Capitalize f in (#4766)

* Add testing to NVHPC CI actions (CMake & Autotools) (#4760)

Turns on testing, both serial and parallel, but skips:
* dt_arith and dtransform in CMake
* All main library tests in the Autotools
Due to dt_arith and dtransform segfaults when handling long doubles.

* Fix typo in H5T_order_t enum (#4773)

'bit endian' --> 'big endian'

* Correct julia workflows name for hdf5_1_14 branch.

---------

Co-authored-by: H. Joe Lee <[email protected]>
Co-authored-by: Aleksandar Jelenak <[email protected]>
Co-authored-by: bmribler <[email protected]>
Co-authored-by: Dana Robinson <[email protected]>
Co-authored-by: jhendersonHDF <[email protected]>
Co-authored-by: mattjala <[email protected]>
lrknox pushed a commit that referenced this issue Aug 27, 2024
This PR switches H5I_object() to H5VL_vol_object() in H5O and H5T APIs.                 H5M is the last one and left out of this PR because it needs more work
in documentation and there is no test for the API functions.

Fixes GH-4730
bmribler added a commit to bmribler/hdf5_bmr23 that referenced this issue Aug 29, 2024
This PR switches H5I_object() and H5I_object_verify() to H5VL_vol_object() and          H5VL_vol_object_verify(), respectively, in the H5M APIs and H5Gdeprec (was left         out by mistake).  This completes the fixes of issue HDFGroupGH-4730.
lrknox pushed a commit that referenced this issue Sep 3, 2024
This PR switches H5I_object() and H5I_object_verify() to H5VL_vol_object() and          H5VL_vol_object_verify(), respectively, in the H5M APIs and H5Gdeprec (was left         out by mistake).  This completes the fixes of issue GH-4730.
lrknox pushed a commit to lrknox/hdf5 that referenced this issue Sep 11, 2024
This PR switches H5I_object() to H5VL_vol_object() in H5O and H5T APIs.                 H5M is the last one and left out of this PR because it needs more work
in documentation and there is no test for the API functions.

Fixes HDFGroupGH-4730
lrknox pushed a commit to lrknox/hdf5 that referenced this issue Sep 11, 2024
This PR switches H5I_object() and H5I_object_verify() to H5VL_vol_object() and          H5VL_vol_object_verify(), respectively, in the H5M APIs and H5Gdeprec (was left         out by mistake).  This completes the fixes of issue HDFGroupGH-4730.
lrknox added a commit that referenced this issue Sep 13, 2024
* Remove dummy comments that repeat function names. (#4775)

* Fix grammar in H5Odtype.c comment block (#4777)

* Add subfiling checks to the gcc action (#4776)

* Replace non-VOL calls with VOL calls - part 3 (#4771)

This PR switches H5I_object() to H5VL_vol_object() in H5O and H5T APIs.                 H5M is the last one and left out of this PR because it needs more work
in documentation and there is no test for the API functions.

Fixes GH-4730

* Add subfiling to CI more places where we test parallel (#4778)

* CMake: gcc,, AOCC
* Autotools: AOCC (gcc was added in a previous commit)

NVHPC generates a lot of tools errors for some reason

* Convert Collective Calls html file to doxygen (#4779)

* Fix grammar in H5Fint.c comment block (#4782)

* Improve the consistency of configure help messages (#4783)

Fix grammar in configure message

* Fixes Fortran parallel build race condition for tests (#4789)

* Update URL documentation links to support site (#4781)

* Fix grammar and simplify comment in H5Fint.c (#4790)

* Fix char-subscripts warnings in H5private.h (#4793)

* Bump the github-actions group with 3 updates (#4798)

Bumps the github-actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout), [DoozyX/clang-format-lint-action](https://github.com/doozyx/clang-format-lint-action) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `actions/checkout` from 4.1.1 to 4.1.7
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v4.1.1...v4.1.7)

Updates `DoozyX/clang-format-lint-action` from 0.17 to 0.18
- [Release notes](https://github.com/doozyx/clang-format-lint-action/releases)
- [Commits](DoozyX/clang-format-lint-action@v0.17...v0.18)

Updates `github/codeql-action` from 3.25.15 to 3.26.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@afb54ba...4dd1613)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: DoozyX/clang-format-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix typo argueably in H5Cprivate.h (#4795)

* Fix typos in H5Cpkg.h (#4796)

* Add bounds checking to avoid Out-of-bounds Write for gif2h5 (#4786)

* Replace non-VOL calls with VOL calls - part 5 (#4788)

This PR switches H5I_object() and H5I_object_verify() to H5VL_vol_object() and          H5VL_vol_object_verify(), respectively, in the H5M APIs and H5Gdeprec (was left         out by mistake).  This completes the fixes of issue GH-4730.

* Correct the URL paths (#4802)

* Fix a few issues with error reporting during sec2 reads/writes (#4794)

* Update windows and apple signing process (#4806)

* Use latest clang format action (#4807)

* Correct path to document (#4808)

* Detect invalid ID to H5Gmove2 (#4765)

User's application segfaulted because the returned value H5I_BADID wasn't
detected when H5I_get_type() was called.  This PR adds checks for invalid
file/group identifiers passed into H5Gmove2.

This defect occurs in many other places, hence, issue GH-4764.

Fixes #4737

* Fix use of public API calls (#4809)

Switch public API calls to private ones. Root cause of #4672, which it fixes.

Also minor code cleanups

* Remove call to H5E_clear_stack() (#4810)

Remove call to H5E_clear_stack() in H5G_node_debug()

Add misc. minor cleanups

* Enable win Intel signing (#4812)

* Remove unneeded file name part (#4814)

* Update NVHPC optimization settings (#4815)

* Use -gopt in Autotools/CMake instead of -g
* Autotools uses -O3 for release, -O1 for debug
* Remove CMake optimization flag removal hack

* Add mirror VFD to serial -Werror CI action (#4753)

* Add mirror VFD to serial -Werror CI action

* NUL terminate mirror_vfd.c strings

* Add THREADS check to configuration file (#4746)

* Cleanup threads package checks

* Check first if package was found

* Remove unnecessary dependent checks

* Remove Unused options and fix names of option prefix

* Rework RFC url in aliases (#4813)

* Update config/cmake/hdf5-config.cmake.in

_ENABLE_THREADS doesn't belong in hdf5_1_14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - C Library Core C library issues (usually in the src directory) Priority - 1. High 🔼 These are important issues that should be resolved in the next release Type - Bug / Bugfix Please report security issues to [email protected] instead of creating an issue on GitHub
Projects
None yet
1 participant