[ITK-dev] Bug in the library, or just in the test..?

David Cole DLRdave at aol.com
Fri Oct 23 12:43:32 EDT 2015


The itkTransformTest is the only test failing on my Visual Studio 2013
Debug dashboard because of this code:

    virtual OutputVectorPixelType TransformVector(const
InputVectorPixelType  & itkNotUsed(inputVector) ) const ITK_OVERRIDE
    {
      OutputVectorPixelType outVector;
      outVector.Fill( 88.8 );
      return outVector;
    }

The problem is in the Fill implementation:

    template< typename TValue >
    void VariableLengthVector< TValue >
    ::Fill(TValue const & v) ITK_NOEXCEPT
    {
      std::fill_n(&this->m_Data[0], m_NumElements, v);
    }

In this test call, m_Data is nullptr, and m_NumElements is 0, so
clearly,&m_Data[0] is not a useful pointer, and with 0 elements, there
is nothing to fill.

So.... should the implementation of Fill be changed to be conditional
on the pointer being non-nullptr, or the number of elements being
non-zero, or both? (Are other Fill implementations protected like so?)

Or should the test be changed to avoid calling Fill when there are no
elements...?


Thanks,
David C.


More information about the Insight-developers mailing list