From: Jonathan Peyton Date: Wed, 28 Nov 2018 20:15:11 +0000 (+0000) Subject: [OpenMP] Fixed possible array out of bound access X-Git-Tag: llvmorg-8.0.0-rc1~3377 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f4c0720ad0bcdb895218cfdc35e72eeea15e294d;p=platform%2Fupstream%2Fllvm.git [OpenMP] Fixed possible array out of bound access There is low probability that array th_hot_teams can be accessed out of bound (when many nested levels are requested to keep hot teams via KMP_HOT_TEAMS_MAX_LEVEL). The patch adds the check of index that fixes the problem. Patch by Andrey Churbanov Differential Revision: https://reviews.llvm.org/D54950 llvm-svn: 347800 --- diff --git a/openmp/runtime/src/kmp_runtime.cpp b/openmp/runtime/src/kmp_runtime.cpp index f2e9956..44774e9 100644 --- a/openmp/runtime/src/kmp_runtime.cpp +++ b/openmp/runtime/src/kmp_runtime.cpp @@ -2132,6 +2132,7 @@ int __kmp_fork_call(ident_t *loc, int gtid, master_th->th.th_task_state_top++; #if KMP_NESTED_HOT_TEAMS if (master_th->th.th_hot_teams && + active_level < __kmp_hot_teams_max_level && team == master_th->th.th_hot_teams[active_level].hot_team) { // Restore master's nested state if nested hot team master_th->th.th_task_state =