vtk-m/vtkm
Kenneth Moreland 8834458238 Fix use of uninitialized invSpacing value
The SamplerRect worklet had an error where it was possible that the
invSpacing stack-local values could be used uninitialized. On the first
iteration of the loop in the SamplerRect operation, it calls LocateCell,
which is supposed to set invSpacing. Under most conditions it does, but
if one of the ray directions is 0 (which can happen with axis-aligned
views), one of the invSpacing dimensions was skipped, leaving the value
to whatever garbage happened to be on the stack. Later, the invSpacing
value was used to interpolate a scalar, which under some circumstances
could cause an array index error when looking up a color in the color
map.

This fix changes the condition for when the ray direction is 0 to still
initialize invSpacing.
2016-06-07 09:36:56 -06:00
..
benchmarking Make all benchmarking sources listed in build 2016-06-02 10:24:21 -06:00
cont Change Field and related methods to use Range and Bounds 2016-05-29 18:49:36 -06:00
exec Merge topic 'rename_topology_tag' 2016-05-25 14:08:09 -04:00
filter delete the vtkm::filter::FieldTypes header. 2016-06-01 16:45:09 -04:00
internal Add test to check that all source files are part of the build system 2016-06-02 10:23:37 -06:00
interop Remove cont/Assert.h and exec/Assert.h 2016-04-20 15:41:14 -06:00
io Merge branch 'reader-field-names' into 'master' 2016-06-01 09:27:27 -04:00
rendering Fix use of uninitialized invSpacing value 2016-06-07 09:36:56 -06:00
testing Change Field and related methods to use Range and Bounds 2016-05-29 18:49:36 -06:00
worklet Add export macros to splat kernel methods 2016-06-02 12:30:37 -06:00
Assert.h Add POSIX assert wrapper 2016-04-20 14:19:22 -06:00
BinaryOperators.h Update all of vtkm to understand it can only identify as one compiler. 2016-01-12 11:05:40 -05:00
BinaryPredicates.h Add vtkm/BinaryOperators header. 2015-08-04 16:55:53 -04:00
Bounds.h Change Field and related methods to use Range and Bounds 2016-05-29 18:49:36 -06:00
CellShape.h Convert unsupported cell types to supported types 2015-11-24 13:56:23 -05:00
CellTraits.h Remove pixel and voxel cell types 2015-08-27 17:03:13 -06:00
CMakeLists.txt Add Bounds struct 2016-05-29 18:49:36 -06:00
ImplicitFunctions.h Add implicit functions 2015-10-08 09:32:14 -04:00
ListTag.h Add parentheses around condition in VTKM_STATIC_ASSERT_MSG 2015-12-15 10:29:53 -07:00
Math.h Use std::Min/Max over fmin/fmax 2015-12-07 09:26:27 -07:00
Math.h.in Use std::Min/Max over fmin/fmax 2015-12-07 09:26:27 -07:00
Matrix.h Add POSIX assert wrapper 2016-04-20 14:19:22 -06:00
NewtonsMethod.h Move NewtonsMethod to the vtkm package 2016-04-14 14:36:02 -06:00
Pair.h Make vtkm::Pair behave as a better core type 2015-09-20 00:01:04 -06:00
Range.h Change Field and related methods to use Range and Bounds 2016-05-29 18:49:36 -06:00
StaticAssert.h Do not use _Pragma in code blocks with CUDA 2015-10-07 15:40:44 -06:00
TopologyElementTag.h Rename pragma header guard so it makes sense for tbb and thrust. 2015-08-13 09:04:23 -04:00
TypeListTag.h Use WholeArrayIn instead of ExecObject for MarchingCubes worklets 2015-12-07 09:52:29 -07:00
Types.h Add POSIX assert wrapper 2016-04-20 14:19:22 -06:00
TypeTraits.h Update VecTraits/TypeTraits to include types that VTK uses. 2016-02-22 14:20:25 -05:00
UnaryPredicates.h Add vtkm/UnaryPredicates header. 2015-07-30 13:12:59 -04:00
VecRectilinearPointCoordinates.h Add VecRectilinearPointCoordinates class 2015-09-02 13:50:31 -07:00
VectorAnalysis.h Refactor liner interpolation to use (1-w)*v0+w*v1 2016-03-18 10:54:56 -04:00
VecTraits.h Add missing export macro to VecTraits. 2016-05-29 10:22:30 -06:00
VecVariable.h Add POSIX assert wrapper 2016-04-20 14:19:22 -06:00