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
..
2020-08-10 22:26:41 +02:00
2018-08-07 03:16:20 +09:00
2020-03-30 01:32:23 +03:00
2021-01-25 15:54:52 -05:00
2019-06-25 13:20:16 -04:00