fix(fits): Make sure to close if open fails to find right magic number #3771
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are two ways to fail the FITS magic number check: fail to read the bytes, or the bytes don't match the magic number. It seemed suspicious that we call close() for the latter but not the former. Combine them into a single error response (they had the same message, anyway).
Also, make sure FitsInput::init() fully clears some other data structures. Oversight?
I don't know if any of these things are real bugs, but they look sloppy and potentially problematic, so fixing them up.