diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2020-11-20 17:24:35 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-20 17:24:35 -0500 |
| commit | c0fab438a565cb2134679af8830d11644668d6a2 (patch) | |
| tree | 3eeccfd634c2853467f42abe51a0d7008dbb93a2 /source/core/slang-uint-set.h | |
| parent | ee5842a01cdb2bd6cd4acee7214666f180b95d84 (diff) | |
Bug fixes: Memory leak/off by one on UIntSet (#1616)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Fix memory leak on ScopedAllocation.
Fix off by one bug on UIntSet
Diffstat (limited to 'source/core/slang-uint-set.h')
| -rw-r--r-- | source/core/slang-uint-set.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/core/slang-uint-set.h b/source/core/slang-uint-set.h index 7833ffa25..f89f37df2 100644 --- a/source/core/slang-uint-set.h +++ b/source/core/slang-uint-set.h @@ -61,6 +61,9 @@ public: /// Store the intersection between this and set in this void intersectWith(const UIntSet& set); + /// + bool isEmpty() const; + /// Store the union of set1 and set2 in outRs static void calcUnion(UIntSet& outRs, const UIntSet& set1, const UIntSet& set2); /// Store the intersection of set1 and set2 in outRs @@ -99,7 +102,7 @@ inline void UIntSet::remove(UInt val) inline bool UIntSet::contains(UInt val) const { const Index idx = Index(val >> kElementShift); - return idx <= m_buffer.getCount() && + return idx < m_buffer.getCount() && ((m_buffer[idx] & (Element(1) << (val & kElementMask))) != 0); } |
