diff --git a/legacy/ephysics/src/lib/EPhysics.h b/legacy/ephysics/src/lib/EPhysics.h index 8c33af4ac5..72a52ddba0 100644 --- a/legacy/ephysics/src/lib/EPhysics.h +++ b/legacy/ephysics/src/lib/EPhysics.h @@ -1838,6 +1838,7 @@ typedef enum _EPhysics_Body_Cloth_Anchor_Side EPHYSICS_BODY_CLOTH_ANCHOR_SIDE_RIGHT, EPHYSICS_BODY_CLOTH_ANCHOR_SIDE_TOP, EPHYSICS_BODY_CLOTH_ANCHOR_SIDE_BOTTOM, + EPHYSICS_BODY_CLOTH_ANCHOR_SIDE_LAST, } EPhysics_Body_Cloth_Anchor_Side; /** diff --git a/legacy/ephysics/src/lib/ephysics_body.cpp b/legacy/ephysics/src/lib/ephysics_body.cpp index 3a3c7f379c..0c1ab02baa 100644 --- a/legacy/ephysics/src/lib/ephysics_body.cpp +++ b/legacy/ephysics/src/lib/ephysics_body.cpp @@ -1484,6 +1484,12 @@ ephysics_body_cloth_anchor_full_add(EPhysics_Body *body1, EPhysics_Body *body2, return; } + if ((side < 0) || (side >= EPHYSICS_BODY_CLOTH_ANCHOR_SIDE_LAST)) + { + ERR("Could not add anchors, side is invalid."); + return; + } + rows = body1->cloth_rows + 1; columns = body1->cloth_columns + 1; anchor_mass = body1->soft_body->m_nodes.size() * 0.025;