Skip to content

Commit 24bdecd

Browse files
committed
BUG: Initialize itk::Array local variable in doOneDimensionErode
Initialize `itk::Array` local `LineBuf` variable in `itk::LabSet::doOneDimensionErode` function. Fixes: ``` UMC ==954603== Conditional jump or move depends on uninitialised value(s) ==954603== at 0x1B6A0A: void itk::LabSet::doOneDimensionErode >, itk::ImageLinearConstIteratorWithIndex >, itk::ImageLinearIteratorWithIndex >, itk::ImageLinearIteratorWithIndex >, float>(itk::ImageLinearConstIteratorWithIndex >&, itk::ImageLinearConstIteratorWithIndex >&, itk::ImageLinearIteratorWithIndex >&, itk::ImageLinearIteratorWithIndex >&, itk::ProgressReporter&, unsigned int, unsigned int, int, bool, float, float, float, float, bool) (itkLabelSetUtils.h:578) ==954603== by 0x1B4251: itk::LabelSetErodeImageFilter, itk::Image >::ThreadedGenerateData(itk::ImageRegion<2u> const&, unsigned int) (itkLabelSetErodeImageFilter.hxx:128) ==954603== by 0x18FE30: itk::ImageSource >::ThreaderCallback(void*) (itkImageSource.hxx:284) ==954603== by 0x535686A: itk::PoolMultiThreader::SingleMethodExecute()::{lambda()#1}::operator()() const (itkPoolMultiThreader.cxx:142) ==954603== by 0x5357F8B: void itk::(anonymous namespace)::ExceptionHandler::TryAndCatch(itk::PoolMultiThreader::SingleMethodExecute()::{lambda()#1} const&) (itkPoolMultiThreader.cxx:54) ==954603== by 0x5356C4B: itk::PoolMultiThreader::SingleMethodExecute() (itkPoolMultiThreader.cxx:142) ==954603== by 0x1B3BD8: itk::LabelSetMorphBaseImageFilter, false, itk::Image >::GenerateData() (itkLabelSetMorphBaseImageFilter.hxx:212) ==954603== by 0x52D5FBF: itk::ProcessObject::UpdateOutputData(itk::DataObject*) (itkProcessObject.cxx:1692) ==954603== by 0x52FDD8A: itk::DataObject::UpdateOutputData() (itkDataObject.cxx:384) ==954603== by 0x166795: itk::ImageBase<2u>::UpdateOutputData() (itkImageBase.hxx:258) ==954603== by 0x160EC5: itk::ImageFileWriter >::Write() (itkImageFileWriter.hxx:284) ==954603== by 0x15C860: itk::ImageFileWriter >::Update() (itkImageFileWriter.h:180) ==954603== by 0x1B0566: int doErode(char*, char*, int) (itkLabelSetErodeTest.cxx:58) ==954603== by 0x1B014D: itkLabelSetErodeTest(int, char**) (itkLabelSetErodeTest.cxx:95) ==954603== by 0x156227: main (LabelErodeDilateTestDriver.cxx:198) ``` raised for example in: https://open.cdash.org/viewDynamicAnalysisFile.php?id=11279794
1 parent 420c9f7 commit 24bdecd

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

include/itkLabelSetUtils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ doOneDimensionErode(TInIter & inputIterator,
476476
iscale = imageScale;
477477
}
478478
const RealType magnitude = (magnitudeSign * iscale * iscale) / (2.0 * sigma);
479-
LineBufferType lineBuf(lineLength);
479+
LineBufferType lineBuf(lineLength, 0.0);
480480
LabelBufferType labBuf(lineLength);
481481

482482
inputIterator.SetDirection(direction);

0 commit comments

Comments
 (0)