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::GetImageOrigin
Application::GetImageSpacing
Application::GetImageSize
Application::GetImageNbBands
Application::PropagateRequestedRegion
Application::GetImageRequestedRegion
Application::SetImageMetadata
Application::GetMetadataDictionary
Application::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 -i
on latest changes and commit
Edited by Julien Osman