Skip to content

Commit db0cade

Browse files
committed
Make Minisketch copying work for invalid objects
1 parent 2baf23f commit db0cade

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

include/minisketch.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,17 @@ class Minisketch
211211
/** Construct a clone of the specified sketch. */
212212
Minisketch(const Minisketch& sketch) noexcept
213213
{
214-
m_minisketch = std::unique_ptr<minisketch, Deleter>(minisketch_clone(sketch.m_minisketch.get()));
214+
if (sketch.m_minisketch) {
215+
m_minisketch = std::unique_ptr<minisketch, Deleter>(minisketch_clone(sketch.m_minisketch.get()));
216+
}
215217
}
216218

217219
/** Make this Minisketch a clone of the specified one. */
218220
Minisketch& operator=(const Minisketch& sketch) noexcept
219221
{
220-
m_minisketch = std::unique_ptr<minisketch, Deleter>(minisketch_clone(sketch.m_minisketch.get()));
222+
if (sketch.m_minisketch) {
223+
m_minisketch = std::unique_ptr<minisketch, Deleter>(minisketch_clone(sketch.m_minisketch.get()));
224+
}
221225
return *this;
222226
}
223227

0 commit comments

Comments
 (0)