Selaa lähdekoodia

Fix byte packing (and buffer overrun) in godot_webxr_get_bounds_geometry()

David Snopek 2 vuotta sitten
vanhempi
commit
9e4d80e08e
1 muutettua tiedostoa jossa 3 lisäystä ja 4 poistoa
  1. 3 4
      modules/webxr/native/library_godot_webxr.js

+ 3 - 4
modules/webxr/native/library_godot_webxr.js

@@ -584,12 +584,11 @@ const GodotWebXR = {
 		}
 
 		const buf = GodotRuntime.malloc(point_count * 3 * 4);
-		GodotRuntime.setHeapValue(buf, point_count, 'i32');
 		for (let i = 0; i < point_count; i++) {
 			const point = GodotWebXR.space.boundsGeometry[i];
-			GodotRuntime.setHeapValue(buf + ((i * 3) + 1) * 4, point.x, 'float');
-			GodotRuntime.setHeapValue(buf + ((i * 3) + 2) * 4, point.y, 'float');
-			GodotRuntime.setHeapValue(buf + ((i * 3) + 3) * 4, point.z, 'float');
+			GodotRuntime.setHeapValue(buf + ((i * 3) + 0) * 4, point.x, 'float');
+			GodotRuntime.setHeapValue(buf + ((i * 3) + 1) * 4, point.y, 'float');
+			GodotRuntime.setHeapValue(buf + ((i * 3) + 2) * 4, point.z, 'float');
 		}
 		GodotRuntime.setHeapValue(r_points, buf, 'i32');