SVACE Error fix TextureManager Thread bounds 16/163616/2
authorAgnelo Vaz <agnelo.vaz@samsung.com>
Tue, 12 Dec 2017 10:19:46 +0000 (10:19 +0000)
committerAgnelo Vaz <agnelo.vaz@samsung.com>
Tue, 12 Dec 2017 15:38:22 +0000 (15:38 +0000)
Should be able to resolve SVACE error by asserting on the maximum number allowed.

Preventing TextureManager sign-compare Error with strtoul (old arch)

Change-Id: I081635e8f1f1a69e7426041344440a53c5b80121

dali-toolkit/internal/visuals/texture-manager-impl.cpp

index b2e0d03..c867b91 100644 (file)
@@ -47,7 +47,9 @@ size_t GetNumberOfThreads(const char* environmentVariable, size_t defaultValue)
 {
   using Dali::EnvironmentVariable::GetEnvironmentVariable;
   auto numberString = GetEnvironmentVariable(environmentVariable);
-  auto numberOfThreads = numberString ? std::strtol(numberString, nullptr, 10) : 0;
+  auto numberOfThreads = numberString ? std::strtoul(numberString, nullptr, 10) : 0;
+  constexpr auto MAX_NUMBER_OF_THREADS = 100u;
+  DALI_ASSERT_ALWAYS( numberOfThreads < MAX_NUMBER_OF_THREADS );
   return (numberOfThreads > 0) ? numberOfThreads : defaultValue;
 }