summaryrefslogtreecommitdiff
path: root/source/core/slang-uint-set.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-11-20 17:24:35 -0500
committerGitHub <noreply@github.com>2020-11-20 17:24:35 -0500
commitc0fab438a565cb2134679af8830d11644668d6a2 (patch)
tree3eeccfd634c2853467f42abe51a0d7008dbb93a2 /source/core/slang-uint-set.h
parentee5842a01cdb2bd6cd4acee7214666f180b95d84 (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.h5
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);
}