]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - matrixlib.c
Fix GCC 11 warns: Matrix4x4_FromArrayDoubleD3D overread
[xonotic/darkplaces.git] / matrixlib.c
index dd6f3c6a348919f14b7620cf2a0ac1daea2e352e..2724ce6ad8878e10b2318b3a1ef49da56ce42b94 100644 (file)
@@ -1123,42 +1123,42 @@ void Matrix4x4_ToArrayDoubleD3D(const matrix4x4_t *in, double out[16])
 #endif
 }
 
-void Matrix4x4_FromArrayDoubleD3D (matrix4x4_t *out, const double in[16])
+void Matrix4x4_FromArrayDoubleD3D (matrix4x4_t *out, const double in[4][4])
 {
 #ifdef MATRIX4x4_OPENGLORIENTATION
-       out->m[0][0] = in[0];
-       out->m[1][0] = in[1];
-       out->m[2][0] = in[2];
-       out->m[3][0] = in[3];
-       out->m[0][1] = in[4];
-       out->m[1][1] = in[5];
-       out->m[2][1] = in[6];
-       out->m[3][1] = in[7];
-       out->m[0][2] = in[8];
-       out->m[1][2] = in[9];
-       out->m[2][2] = in[10];
-       out->m[3][2] = in[11];
-       out->m[0][3] = in[12];
-       out->m[1][3] = in[13];
-       out->m[2][3] = in[14];
-       out->m[3][3] = in[15];
+       out->m[0][0] = in[0][0];
+       out->m[1][0] = in[0][1];
+       out->m[2][0] = in[0][2];
+       out->m[3][0] = in[0][3];
+       out->m[0][1] = in[1][0];
+       out->m[1][1] = in[1][1];
+       out->m[2][1] = in[1][2];
+       out->m[3][1] = in[1][3];
+       out->m[0][2] = in[2][0];
+       out->m[1][2] = in[2][1];
+       out->m[2][2] = in[2][2];
+       out->m[3][2] = in[2][3];
+       out->m[0][3] = in[3][0];
+       out->m[1][3] = in[3][1];
+       out->m[2][3] = in[3][2];
+       out->m[3][3] = in[3][3];
 #else
-       out->m[0][0] = in[0];
-       out->m[0][1] = in[1];
-       out->m[0][2] = in[2];
-       out->m[0][3] = in[3];
-       out->m[1][0] = in[4];
-       out->m[1][1] = in[5];
-       out->m[1][2] = in[6];
-       out->m[1][3] = in[7];
-       out->m[2][0] = in[8];
-       out->m[2][1] = in[9];
-       out->m[2][2] = in[10];
-       out->m[2][3] = in[11];
-       out->m[3][0] = in[12];
-       out->m[3][1] = in[13];
-       out->m[3][2] = in[14];
-       out->m[3][3] = in[15];
+       out->m[0][0] = in[0][0];
+       out->m[0][1] = in[0][1];
+       out->m[0][2] = in[0][2];
+       out->m[0][3] = in[0][3];
+       out->m[1][0] = in[1][0];
+       out->m[1][1] = in[1][1];
+       out->m[1][2] = in[1][2];
+       out->m[1][3] = in[1][3];
+       out->m[2][0] = in[2][0];
+       out->m[2][1] = in[2][1];
+       out->m[2][2] = in[2][2];
+       out->m[2][3] = in[2][3];
+       out->m[3][0] = in[3][0];
+       out->m[3][1] = in[3][1];
+       out->m[3][2] = in[3][2];
+       out->m[3][3] = in[3][3];
 #endif
 }