Bug 1677409 - MOZ_ASSERT(not null) in UniquePtr::operator* - r=sg

Dereferencing a null pointer is UB, so it's good to catch such misuses early.

Differential Revision: https://phabricator.services.mozilla.com/D97104
This commit is contained in:
Gerald Squelart 2020-11-16 20:11:24 +00:00
Родитель 927d2292fd
Коммит 831c1bd198
1 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -276,9 +276,12 @@ class UniquePtr {
return *this;
}
std::add_lvalue_reference_t<T> operator*() const { return *get(); }
std::add_lvalue_reference_t<T> operator*() const {
MOZ_ASSERT(get(), "dereferencing a UniquePtr containing nullptr with *");
return *get();
}
Pointer operator->() const {
MOZ_ASSERT(get(), "dereferencing a UniquePtr containing nullptr");
MOZ_ASSERT(get(), "dereferencing a UniquePtr containing nullptr with ->");
return get();
}