glslang/SPIRV
Shahbaz Youssefi cfdeeb842d Fix OOB write in matrix constructor
In a matrix constructor that takes a number of components, as many
components as necessary must be taken, with the rest discarded, as GLSL
allows more components than necessary to be specified.  For example, the
following:

    mat4 m4 = mat4(v4, v4.yzwx, v4.zwx, v4.zwxy, v4.wxyz);

is equivalent to:

    mat4 m4 = mat4(v4, v4.yzwx, v4.zwx, v4.zwxy, v4.w);

glslang takes the components from the constructor and builds the single
components of the matrix in a 2D array before constructing the matrix
itself.  It however did not check for extra parameters and was thus
writing OOB to said 2D array.  This is fixed in this change

Signed-off-by: Shahbaz Youssefi <shabbyx@gmail.com>
2021-06-03 13:42:57 -04:00
..
CInterface GLSLANG_EXPORT for C APIs. 2020-08-10 22:26:41 +02:00
bitutils.h Fix compiler warning emitted from GCC8 2018-09-12 10:34:54 +02:00
CMakeLists.txt Revert changes that migrate to thread_local. 2020-07-31 07:13:24 +01:00
disassemble.cpp SPIR-V: Remove SpvTools.h include from disassemble.cpp (#2417) 2020-10-12 10:33:01 -06:00
disassemble.h Fix -Wextra-semi warnings in headers used in Chromium 2019-02-21 11:05:21 -05:00
doc.cpp Fixed OpGroupNonUniformQuadBroadcast Direction operand being marked as a literal 2021-03-19 13:26:53 -07:00
doc.h SPIRV: Add disassembly support for multiple literal strings (#2397) 2020-09-14 09:57:09 -06:00
GLSL.ext.AMD.h Non-functional: Move to latest headers. 2018-03-02 12:36:02 -07:00
GLSL.ext.EXT.h Add GL_EXT_shader_image_int64 support (#2409) 2020-11-04 09:24:23 -07:00
GLSL.ext.KHR.h Add support for GL_EXT_shared_memory_block 2021-01-29 11:23:05 -08:00
GLSL.ext.NV.h Add support for GL_NV_shader_sm_builtins 2019-06-08 08:53:11 -04:00
GLSL.std.450.h Remove execute permissions 2018-08-07 03:16:20 +09:00
GlslangToSpv.cpp Do true SPV type check for function array arg linkage 2021-05-20 10:51:14 -06:00
GlslangToSpv.h Remove executable bits from code/data files (#2420) 2020-10-12 10:08:47 -06:00
hex_float.h bitwise on boolean 2020-03-30 01:32:23 +03:00
InReadableOrder.cpp SPIR-V: Aggressively prune unreachable merge, continue target 2019-10-29 15:33:54 -04:00
Logger.cpp Make file formatting comply with POSIX and Unix standards 2020-03-21 03:20:25 -04:00
Logger.h Web: Remove unused stage functionality, SPIR-V logger, and hex_utils 2019-08-20 23:21:56 -06:00
NonSemanticDebugPrintf.h GL_EXT_debug_printf implementation 2020-03-05 13:41:34 -06:00
spirv.hpp Update known_good.json to pick up SPV_KHR_workgroup_memory_explicit_layout 2021-01-29 11:22:22 -08:00
SpvBuilder.cpp Fix OOB write in matrix constructor 2021-06-03 13:42:57 -04:00
SpvBuilder.h Implement GL_EXT_null_initializer 2021-01-25 15:54:52 -05:00
spvIR.h Implement GL_EXT_terminate_invocation (#2454) 2020-11-09 09:30:01 -07:00
SpvPostProcess.cpp Add support for GL_EXT_shared_memory_block 2021-01-29 11:23:05 -08:00
SPVRemapper.cpp [spirv-remap] Fix undefined behavior in hashing (#2403) 2020-09-26 18:43:30 -06:00
SPVRemapper.h Remove extraneous semicolons 2019-06-25 13:20:16 -04:00
SpvTools.cpp Fix SPIR-V for HLSL EvaluateAttribute* of interpolants in structs 2021-04-01 00:31:31 -06:00
SpvTools.h Add new SpirvToolsDisassemble API interface + Improve Doc on existing API interface (#2442) 2020-11-02 14:40:50 -07:00