Skip to content

Reject failed input streams - #1486

Merged
SGSSGene merged 4 commits into
jbeder:masterfrom
henriquejsza:fix/408-stream-errors
Aug 24, 2026
Merged

Reject failed input streams#1486
SGSSGene merged 4 commits into
jbeder:masterfrom
henriquejsza:fix/408-stream-errors

Conversation

@henriquejsza

Copy link
Copy Markdown
Contributor

Fixes #408

  • reject failed input streams before and during parsing
  • preserve empty and EOF-only streams
  • add regression coverage for Load and LoadAll

Tests:

  • CMake C++11 static build and full test suite
  • Clang C++23 shared build and full CTest
  • GCC C++20 ASan/UBSan suite
  • Bazel build :all and test test

@henriquejsza

Copy link
Copy Markdown
Contributor Author

CI follow-up: the six Windows x64 MinGW jobs built successfully but hung in CTest when launched under Git Bash. In that shell, /mingw64/bin precedes the compiler-matching C:\mingw64\bin; prepending /c/mingw64/bin only for the affected matrix entries makes the full suite complete. This was verified in diagnostic run 32585105051, where the job passed in 1m40s. Commit f1c2b7f applies only that PATH adjustment; the refreshed upstream workflow is currently awaiting maintainer approval.

@SGSSGene SGSSGene left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank for this fix! Especially finding the issue in the CI.

Short remark: This PR now contains three changes:

  • fixing bad input streams
  • fixing CI
  • and cleanup raw pointers -> std::unique_ptr

I would prefer to have the raw pointers -> std::unique_ptr in a separately PR. It makes following the changes easier.

But again! This fixes are appreciated!

@SGSSGene
SGSSGene merged commit e5fe9f2 into jbeder:master Aug 24, 2026
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Load and LoadAll ignore failbit and badbit on istream

2 participants