From cfe5c610d2e000bdb74e2e3407305b11b7ec6191 Mon Sep 17 00:00:00 2001 From: Agnelo Vaz Date: Tue, 12 Dec 2017 10:19:46 +0000 Subject: [PATCH] [4.0] SVACE Error fix TextureManager Thread bounds 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 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dali-toolkit/internal/visuals/texture-manager-impl.cpp b/dali-toolkit/internal/visuals/texture-manager-impl.cpp index b2e0d03..11d3b0f 100644 --- a/dali-toolkit/internal/visuals/texture-manager-impl.cpp +++ b/dali-toolkit/internal/visuals/texture-manager-impl.cpp @@ -47,8 +47,10 @@ 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; - return (numberOfThreads > 0) ? numberOfThreads : defaultValue; + auto numberOfThreads = numberString ? std::strtoul(numberString, nullptr, 10) : 0; + constexpr auto MAX_NUMBER_OF_THREADS = 100u; + DALI_ASSERT_DEBUG( numberOfThreads < MAX_NUMBER_OF_THREADS ); + return ( numberOfThreads > 0 && numberOfThreads < MAX_NUMBER_OF_THREADS ) ? numberOfThreads : defaultValue; } size_t GetNumberOfLocalLoaderThreads() -- 2.7.4