Fix Segfault when reaching output image informations before calling Execute()
Summary
Testing if the Execute() function has been called before accessing output image information. If not, raise an exception.
Rationale
Fix #2288 (closed)
Implementation Details
Classes and files
The class attribute Application::m_ExecuteDone allows to know if the function Application::Execute has been called. In this MR, we add a test to check this attribute in Application::GetParameterImageBase before returning the output image. If not, an exception is raised, with an explicit message.
Tests
Add a new unit test to check that the following functions raise an exception if called before Execute():
Application::GetImageOriginApplication::GetImageSpacingApplication::GetImageSizeApplication::GetImageNbBandsApplication::PropagateRequestedRegionApplication::GetImageRequestedRegionApplication::SetImageMetadataApplication::GetMetadataDictionaryApplication::GetImageBasePixelType
Copyright
The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.
Check before merging:
- All discussions are resolved
- At least 2
👍 votes from core developers, no👎 vote. - The feature branch is (reasonably) up-to-date with the base branch
- Dashboard is green
- Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
- Optionally, run
git diff develop... -U0 --no-color | clang-format-diff.py -p1 -ion latest changes and commit
Edited by Julien Osman