Explictly check upper bound to satisfy SVACE when using strtoul 05/164005/1
authorAgnelo Vaz <agnelo.vaz@samsung.com>
Thu, 14 Dec 2017 14:36:13 +0000 (14:36 +0000)
committerAgnelo Vaz <agnelo.vaz@samsung.com>
Thu, 14 Dec 2017 14:36:13 +0000 (14:36 +0000)
Should have been able to fix SVACE error by asserting on the maximum number allowed
but that does not work with strtoul only with strtol!!

Possible issue with SVACE.

Added ASSERT_DEBUG so users knows that the set value of threads failed and default
is being used

Merged into other 4.0 branch with patch "SVACE Error fix TextureManager Thread bounds"

Change-Id: Ic412c92160bcb910f99db30a43273af0c9cf68a1

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

index c867b91..11d3b0f 100644 (file)
@@ -49,8 +49,8 @@ size_t GetNumberOfThreads(const char* environmentVariable, size_t defaultValue)
   auto numberString = GetEnvironmentVariable(environmentVariable);
   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;
+  DALI_ASSERT_DEBUG( numberOfThreads < MAX_NUMBER_OF_THREADS );
+  return ( numberOfThreads > 0 && numberOfThreads < MAX_NUMBER_OF_THREADS ) ? numberOfThreads : defaultValue;
 }
 
 size_t GetNumberOfLocalLoaderThreads()