[ITK] [ITK-dev] linear interpolator leaks?
M.Staring at lumc.nl
M.Staring at lumc.nl
Wed Jun 1 03:45:08 EDT 2016
Hi all,
I noticed that our valgrind build of elastix has reports like this:
UMR ==5253== Invalid read of size 2
==5253== at 0x552241: itk::LinearInterpolateImageFunction<itk::Image<short, 2u>, double>::EvaluateOptimized(itk::LinearInterpolateImageFunction<itk::Image<short, 2u>, double>::Dispatch<2u> const&, itk::ContinuousIndex<double, 2u> const&) const (itkLinearInterpolateImageFunction.h:173)
==5253== by 0x54976C: itk::LinearInterpolateImageFunction<itk::Image<short, 2u>, double>::EvaluateAtContinuousIndex(itk::ContinuousIndex<double, 2u> const&) const (itkLinearInterpolateImageFunction.h:99)
==5253== by 0x54397B: bool TestInterpolators<2u>() (itkAdvancedLinearInterpolatorTest.cxx:171)
==5253== by 0x53E232: main (itkAdvancedLinearInterpolatorTest.cxx:279)
==5253== Address 0x6822b94 is 52 bytes inside a block of size 83 free'd
==5253== at 0x4C2C2BC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==5253== by 0x5ED884: itk::ObjectFactoryBase::CreateObject(char const*) (in /home/marius/nightly-builds/elastix/bin_debug/bin/itkAdvancedLinearInterpolatorTest)
==5253== by 0x5EF91B: itk::ObjectFactoryBase::CreateInstance(char const*) (in /home/marius/nightly-builds/elastix/bin_debug/bin/itkAdvancedLinearInterpolatorTest)
==5253== by 0x550335: itk::ObjectFactory<itk::LinearInterpolateImageFunction<itk::Image<short, 2u>, double> >::Create() (itkObjectFactory.h:60)
==5253== by 0x548A90: itk::LinearInterpolateImageFunction<itk::Image<short, 2u>, double>::New() (in /home/marius/nightly-builds/elastix/bin_debug/bin/itkAdvancedLinearInterpolatorTest)
==5253== by 0x543540: bool TestInterpolators<2u>() (itkAdvancedLinearInterpolatorTest.cxx:114)
==5253== by 0x53E232: main (itkAdvancedLinearInterpolatorTest.cxx:279)
==5253==
On inspection these lines in itk LinearInterpolateImageFunction.h seem troublesome:
const RealType & val000 = inputImagePtr->GetPixel(basei);
Note that a real type is obtained by reference from a function that often does not return a real type. Is this allowed?
Best, Marius
Marius Staring, PhD
Division of Image Processing (LKEB)
Department of Radiology
Leiden University Medical Center
PO Box 9600, 2300 RC Leiden, The Netherlands
phone: +31 (0)71 52 62137, fax: +31 (0)71 524 8256 m.staring at lumc.nl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20160601/6cdd037d/attachment.html>
-------------- next part --------------
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-developers
More information about the Community
mailing list