diff options
| author | Rider Linden <rider@lindenlab.com> | 2019-02-28 16:37:47 -0800 |
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2019-02-28 16:37:47 -0800 |
| commit | e1a76999c3e8aad337d765fcd6eb50c8191409ea (patch) | |
| tree | bc671ff3f6da473df49f2b834e94ee6150157256 /indra/llcharacter/llkeyframemotion.cpp | |
| parent | d7ad30a2d4dfd83f93b0150464214f2df776eb9c (diff) | |
| parent | 03db2ddc9c27cf842c6185826617b0da0d2b87f5 (diff) | |
Merge
Diffstat (limited to 'indra/llcharacter/llkeyframemotion.cpp')
| -rw-r--r-- | indra/llcharacter/llkeyframemotion.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index 330d812985..5d323ed5d6 100644 --- a/indra/llcharacter/llkeyframemotion.cpp +++ b/indra/llcharacter/llkeyframemotion.cpp @@ -1772,6 +1772,13 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp, const LLUUID& asset_id) bin_data[BIN_DATA_LENGTH] = 0; // Ensure null termination str = (char*)bin_data; constraintp->mSourceConstraintVolume = mCharacter->getCollisionVolumeID(str); + if (constraintp->mSourceConstraintVolume == -1) + { + LL_WARNS() << "not a valid source constraint volume " << str + << " for animation " << asset_id << LL_ENDL; + delete constraintp; + return FALSE; + } if (!dp.unpackVector3(constraintp->mSourceConstraintOffset, "source_offset")) { @@ -1808,6 +1815,13 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp, const LLUUID& asset_id) { constraintp->mConstraintTargetType = CONSTRAINT_TARGET_TYPE_BODY; constraintp->mTargetConstraintVolume = mCharacter->getCollisionVolumeID(str); + if (constraintp->mTargetConstraintVolume == -1) + { + LL_WARNS() << "not a valid target constraint volume " << str + << " for animation " << asset_id << LL_ENDL; + delete constraintp; + return FALSE; + } } if (!dp.unpackVector3(constraintp->mTargetConstraintOffset, "target_offset")) |
