fix incorrect array size
authorMichael Gilbert <mgilbert@debian.org>
Sat, 24 Sep 2022 17:29:03 +0000 (18:29 +0100)
committerMichael Gilbert <mgilbert@debian.org>
Sat, 24 Sep 2022 17:29:03 +0000 (18:29 +0100)
Gbp-Pq: Topic warnings
Gbp-Pq: Name stringop-overflow.patch

dlls/ddraw/device.c
dlls/glu32/project.c

index 6e8f109173b5f544aa01efc8bb4ac58d4f7b190c..ad7d958768dd70a940ae1bca0bb5eea922dd65be 100644 (file)
@@ -4681,7 +4681,7 @@ static HRESULT WINAPI d3d_device3_ComputeSphereVisibility(IDirect3DDevice3 *ifac
         D3DVECTOR *centers, D3DVALUE *radii, DWORD sphere_count, DWORD flags, DWORD *return_values)
 {
     static const DWORD enabled_planes = 0x3f;
-    struct wined3d_vec4 plane[6];
+    struct wined3d_vec4 plane[12];
     unsigned int i, j;
 
     TRACE("iface %p, centers %p, radii %p, sphere_count %u, flags %#x, return_values %p.\n",
index dc104541b8fefc73e1904a97fc4fe914a0ac8fdb..0a71eabd98cd6a1bbea6e0234e6c4953a5495d7f 100644 (file)
 /*
 ** Make m an identity matrix
 */
-static void __gluMakeIdentityd(GLdouble m[16])
+static void __gluMakeIdentityd(GLdouble m[4][4])
 {
-    m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0;
-    m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0;
-    m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0;
-    m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1;
+    m[0][0] = 1; m[0][1] = 0; m[0][2] = 0; m[0][3] = 0;
+    m[1][0] = 0; m[1][1] = 1; m[1][2] = 0; m[1][3] = 0;
+    m[2][0] = 0; m[2][1] = 0; m[2][2] = 1; m[2][3] = 0;
+    m[3][0] = 0; m[3][1] = 0; m[3][2] = 0; m[3][3] = 1;
 }
 
-static void __gluMakeIdentityf(GLfloat m[16])
+static void __gluMakeIdentityf(GLfloat m[4][4])
 {
-    m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0;
-    m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0;
-    m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0;
-    m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1;
+    m[0][0] = 1; m[0][1] = 0; m[0][2] = 0; m[0][3] = 0;
+    m[1][0] = 0; m[1][1] = 1; m[1][2] = 0; m[1][3] = 0;
+    m[2][0] = 0; m[2][1] = 0; m[2][2] = 1; m[2][3] = 0;
+    m[3][0] = 0; m[3][1] = 0; m[3][2] = 0; m[3][3] = 1;
 }
 
 /***********************************************************************
@@ -77,7 +77,7 @@ void WINAPI gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdo
     }
     cotangent = cos(radians) / sine;
 
-    __gluMakeIdentityd(&m[0][0]);
+    __gluMakeIdentityd(m);
     m[0][0] = cotangent / aspect;
     m[1][1] = cotangent;
     m[2][2] = -(zFar + zNear) / deltaZ;
@@ -133,7 +133,7 @@ void WINAPI gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,
     /* Recompute up as: up = side x forward */
     cross(side, forward, up);
 
-    __gluMakeIdentityf(&m[0][0]);
+    __gluMakeIdentityf(m);
     m[0][0] = side[0];
     m[1][0] = side[1];
     m[2][0] = side[2];