From fcb81cd980326b1cfc9f5672b1211b36785537f3 Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Tue, 19 Oct 2021 13:17:17 +0900 Subject: [PATCH] [Tizen] Protect dereferencing null in Node Change-Id: I60506f563fefc31c9c70b7067fc45f91d6929b96 --- dali/internal/update/nodes/node.h | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/dali/internal/update/nodes/node.h b/dali/internal/update/nodes/node.h index 75c08a0..3758b4d 100644 --- a/dali/internal/update/nodes/node.h +++ b/dali/internal/update/nodes/node.h @@ -360,7 +360,12 @@ public: */ const Vector3& GetParentOrigin() const { - return mParentOrigin.Get(0); + if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mParentOrigin.mTxManagerData) + { + return mParentOrigin.Get(0); + } + + return Vector3::ZERO; } /** @@ -378,7 +383,12 @@ public: */ const Vector3& GetAnchorPoint() const { - return mAnchorPoint.Get(0); + if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mAnchorPoint.mTxManagerData) + { + return mAnchorPoint.Get(0); + } + + return Vector3::ZERO; } /** @@ -397,7 +407,7 @@ public: */ const Vector3& GetPosition(BufferIndex bufferIndex) const { - if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID) + if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mPosition.mTxManagerData) { return mPosition.Get(bufferIndex); } @@ -433,7 +443,7 @@ public: */ const Quaternion& GetOrientation(BufferIndex bufferIndex) const { - if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID) + if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mOrientation.mTxManagerData) { return mOrientation.Get(0); } @@ -470,7 +480,7 @@ public: */ const Vector3& GetScale(BufferIndex bufferIndex) const { - if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID) + if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mScale.mTxManagerData) { return mScale.Get(0); } @@ -620,7 +630,7 @@ public: */ const Vector3& GetSize(BufferIndex bufferIndex) const { - if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID) + if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mSize.mTxManagerData) { DALI_LOG_RELEASE_INFO("id = %d, data = %p, manager = %p, id = %d, mSize data = %p, index = %x\n", mId, &mTransformManagerData, mTransformManagerData.mManager, mTransformManagerData.mId, mSize.mTxManagerData, mDepthIndex); -- 2.7.4