From c54360485e29af136155e897e8457e4c81fd87ba Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Tue, 15 Dec 2020 22:09:24 -0500 Subject: [PATCH] Fix over-iterating dpi dimensions (#2703). --- include/verilated.cpp | 2 +- include/verilated_sym_props.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/verilated.cpp b/include/verilated.cpp index 101054439..aa19b0a54 100644 --- a/include/verilated.cpp +++ b/include/verilated.cpp @@ -2640,7 +2640,7 @@ vluint32_t VerilatedVarProps::entSize() const { size_t VerilatedVarProps::totalSize() const { size_t size = entSize(); - for (int udim = 0; udim <= udims(); ++udim) size *= m_unpacked[udim].elements(); + for (int udim = 0; udim < udims(); ++udim) size *= m_unpacked[udim].elements(); return size; } diff --git a/include/verilated_sym_props.h b/include/verilated_sym_props.h index 2df07855e..9a49cfc6e 100644 --- a/include/verilated_sym_props.h +++ b/include/verilated_sym_props.h @@ -75,8 +75,8 @@ class VerilatedVarProps VL_NOT_FINAL { const vluint32_t m_magic; // Magic number const VerilatedVarType m_vltype; // Data type const VerilatedVarFlags m_vlflags; // Direction - const int m_pdims; // Packed dimensions - const int m_udims; // Unpacked dimensions + const int m_pdims; // Packed dimensions, 0 = none + const int m_udims; // Unpacked dimensions, 0 = none VerilatedRange m_packed; // Packed array range std::vector m_unpacked; // Unpacked array ranges void initUnpacked(const int* ulims) {