GCC 9.30 uninitialized memory read discovered
Description
Steps to Reproduce
''' ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[16]’ is used uninitialized in this function [-Wuninitialized] 385 | tcol[j] += pt[j] * derivs[i + 2 * Self::NumberOfPoints]; | ^ ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[17]’ is used uninitialized in this function [-Wuninitialized] ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[18]’ is used uninitialized in this function [-Wuninitialized] ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[19]’ is used uninitialized in this function [-Wuninitialized] ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[20]’ is used uninitialized in this function [-Wuninitialized] ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[21]’ is used uninitialized in this function [-Wuninitialized] ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[22]’ is used uninitialized in this function [-Wuninitialized] ITK/Modules/Core/Common/include/itkHexahedronCell.hxx:385:34: warning: ‘derivs[23]’ is used uninitialized in this function [-Wuninitialized]
ITK/Modules/Core/Common/include/itkDefaultPixelAccessor.h:72:5: warning: ‘MEM[(const struct CovariantVector &)&correctedGradient + 12]’ may be used uninitialized in this function [-Wmaybe-uninitialized] 72 | output = input; | ^ ITK/Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.h:214:29: note: ‘MEM[(const struct CovariantVector &)&correctedGradient + 12]’ was declared here 214 | OutputPixelType correctedGradient; | ^ '''
Expected behavior
No compiler warnings, no buffer reads of uninitialized variables.
Actual behavior
Compiler warnings
Reproducibility
Versions
ITK Head 2021-12-15
Environment
Ubuntu 20.04
g++ --version
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I have seen this, looked into it, and I did not see an underlying issue. The warning seems to be limited to certain GCC versions. If I recall correctly, it may be also related to Release builds.
This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.