From 5d465e1c04ef666de484e921e8d5e56cc1d25d36 Mon Sep 17 00:00:00 2001 From: Bruno Dilly Date: Fri, 9 Nov 2012 18:52:16 +0000 Subject: [PATCH] ephysics: check for side value on anchors full add function SVN revision: 79037 --- legacy/ephysics/src/lib/EPhysics.h | 1 + legacy/ephysics/src/lib/ephysics_body.cpp | 6 ++++++ 2 files changed, 7 insertions(+) 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;