aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2021-03-31 21:34:20 -0700
committerMike Leach <mike.leach@linaro.org>2021-05-17 15:35:19 +0100
commit853da282523691105288f22a20103ea93e816c0b (patch)
tree16debacd51dc11bdf8893b97ddac14e0c6381369
parent5770f5d52599fcc2fa904c097affe5c07440c2d7 (diff)
downloadOpenCSD-853da282523691105288f22a20103ea93e816c0b.tar.gz
opencsd: Avoid index out of bound read
The order of the array bound check and memory access are reversed, flip. This issue was caught by LLVM's address sanitizer.
-rw-r--r--decoder/source/ocsd_dcd_tree.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/decoder/source/ocsd_dcd_tree.cpp b/decoder/source/ocsd_dcd_tree.cpp
index 5dafba9..b8c27a0 100644
--- a/decoder/source/ocsd_dcd_tree.cpp
+++ b/decoder/source/ocsd_dcd_tree.cpp
@@ -511,7 +511,7 @@ DecodeTreeElement *DecodeTree::getNextElement(uint8_t &elemID)
if(m_decode_elem_iter < 0x80)
{
// find a none zero entry or end of range
- while((m_decode_elements[m_decode_elem_iter] == 0) && (m_decode_elem_iter < 0x80))
+ while((m_decode_elem_iter < 0x80) && (m_decode_elements[m_decode_elem_iter] == 0))
m_decode_elem_iter++;
// return entry unless end of range