Skip to content

Fix Segfault when reaching output image informations before calling Execute()

Julien Osman requested to merge 2288-python_segfault into develop

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

Merge request reports