Fix coverity issues (uint32_t overflow + size_t to int32_t) 92/295992/3
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 18 Jul 2023 05:29:39 +0000 (14:29 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Tue, 18 Jul 2023 05:42:00 +0000 (14:42 +0900)
Change-Id: I51fb4a98a5cdb4f93cf3939ede02d576cff2bc36
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-scene3d/internal/loader/gltf2-util.cpp
dali-scene3d/public-api/loader/shader-manager.cpp

index 5e6942f..4f426b1 100644 (file)
@@ -21,6 +21,7 @@
 // EXTERNAL INCLUDES
 #include <dali/devel-api/threading/mutex.h>
 #include <dali/integration-api/debug.h>
+#include <limits> ///< for std::numeric_limits
 
 using namespace Dali::Scene3D::Loader;
 
@@ -301,6 +302,7 @@ std::vector<std::string_view> ReadMeshExtensionsTargetsName(const json_value_s&
 
     if(result.size() <= index)
     {
+      DALI_ASSERT_ALWAYS(index < std::numeric_limits<uint32_t>::max());
       result.resize(index + 1u);
     }
 
index 158598f..df8e16a 100644 (file)
@@ -239,7 +239,7 @@ bool ShaderManager::AddLight(Scene3D::Light light)
     return false;
   }
 
-  int32_t lightIndex = mImpl->mLights.size();
+  uint32_t lightIndex = mImpl->mLights.size();
   mImpl->mLights.push_back(light);
 
   for(auto&& shader : mImpl->mShaders)
@@ -301,8 +301,7 @@ void ShaderManager::SetLightConstraintToShader(uint32_t lightIndex, Dali::Shader
   std::string lightDirectionPropertyName(Scene3D::Internal::Light::GetLightDirectionUniformName());
   lightDirectionPropertyName += "[" + std::to_string(lightIndex) + "]";
   auto             lightDirectionPropertyIndex = shader.RegisterProperty(lightDirectionPropertyName, Vector3::ZAXIS);
-  Dali::Constraint lightDirectionConstraint    = Dali::Constraint::New<Vector3>(shader, lightDirectionPropertyIndex, [](Vector3& output, const PropertyInputContainer& inputs)
-                                                                             { output = inputs[0]->GetQuaternion().Rotate(Vector3::ZAXIS); });
+  Dali::Constraint lightDirectionConstraint    = Dali::Constraint::New<Vector3>(shader, lightDirectionPropertyIndex, [](Vector3& output, const PropertyInputContainer& inputs) { output = inputs[0]->GetQuaternion().Rotate(Vector3::ZAXIS); });
   lightDirectionConstraint.AddSource(Source{mImpl->mLights[lightIndex], Dali::Actor::Property::WORLD_ORIENTATION});
   lightDirectionConstraint.ApplyPost();
   lightDirectionConstraint.SetTag(INDEX_FOR_LIGHT_CONSTRAINT_TAG + lightIndex);
@@ -310,8 +309,7 @@ void ShaderManager::SetLightConstraintToShader(uint32_t lightIndex, Dali::Shader
   std::string lightColorPropertyName(Scene3D::Internal::Light::GetLightColorUniformName());
   lightColorPropertyName += "[" + std::to_string(lightIndex) + "]";
   auto             lightColorPropertyIndex = shader.RegisterProperty(lightColorPropertyName, Vector3(Color::WHITE));
-  Dali::Constraint lightColorConstraint    = Dali::Constraint::New<Vector3>(shader, lightColorPropertyIndex, [](Vector3& output, const PropertyInputContainer& inputs)
-                                                                         { output = Vector3(inputs[0]->GetVector4()); });
+  Dali::Constraint lightColorConstraint    = Dali::Constraint::New<Vector3>(shader, lightColorPropertyIndex, [](Vector3& output, const PropertyInputContainer& inputs) { output = Vector3(inputs[0]->GetVector4()); });
   lightColorConstraint.AddSource(Source{mImpl->mLights[lightIndex], Dali::Actor::Property::COLOR});
   lightColorConstraint.ApplyPost();
   lightColorConstraint.SetTag(INDEX_FOR_LIGHT_CONSTRAINT_TAG + lightIndex);