summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorDelf Neumärker <delf@nmrkr.de>2021-02-20 22:27:08 +0100
committerDelf Neumärker <neumaerker@byonoy.com>2021-02-22 16:32:51 +0100
commitf054f760e64b3b1768e9f8b6928bd38d6c41532b (patch)
tree47cfe0adabe66ce1118a02259e973343634a3a49 /core
parentd4d753552495dda0eefcdd69228eb4ed4ddc5447 (diff)
Fix unchecked array access in build_*_planes
Diffstat (limited to 'core')
-rw-r--r--core/math/geometry_3d.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/math/geometry_3d.cpp b/core/math/geometry_3d.cpp
index a4a7463bfd..6628b760e0 100644
--- a/core/math/geometry_3d.cpp
+++ b/core/math/geometry_3d.cpp
@@ -775,6 +775,8 @@ Vector<Plane> Geometry3D::build_box_planes(const Vector3 &p_extents) {
}
Vector<Plane> Geometry3D::build_cylinder_planes(real_t p_radius, real_t p_height, int p_sides, Vector3::Axis p_axis) {
+ ERR_FAIL_INDEX_V(p_axis, 3, Vector<Plane>());
+
Vector<Plane> planes;
const double sides_step = Math_TAU / p_sides;
@@ -796,6 +798,8 @@ Vector<Plane> Geometry3D::build_cylinder_planes(real_t p_radius, real_t p_height
}
Vector<Plane> Geometry3D::build_sphere_planes(real_t p_radius, int p_lats, int p_lons, Vector3::Axis p_axis) {
+ ERR_FAIL_INDEX_V(p_axis, 3, Vector<Plane>());
+
Vector<Plane> planes;
Vector3 axis;
@@ -827,6 +831,8 @@ Vector<Plane> Geometry3D::build_sphere_planes(real_t p_radius, int p_lats, int p
}
Vector<Plane> Geometry3D::build_capsule_planes(real_t p_radius, real_t p_height, int p_sides, int p_lats, Vector3::Axis p_axis) {
+ ERR_FAIL_INDEX_V(p_axis, 3, Vector<Plane>());
+
Vector<Plane> planes;
Vector3 axis;