diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index 5898e486f9d..261cdcb5cde 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -96,6 +96,11 @@ protected: Q_ASSERT(n <= size() - pos); } + struct free_deleter { + void operator()(void *p) const noexcept { free(p); } + }; + using malloced_ptr = std::unique_ptr; + public: using size_type = qsizetype; @@ -748,10 +753,7 @@ Q_OUTOFLINE_TEMPLATE void QVLABase::reallocate_impl(qsizetype prealloc, void Q_ASSUME(copySize >= 0); if (aalloc != capacity()) { - struct free_deleter { - void operator()(void *p) const noexcept { free(p); } - }; - std::unique_ptr guard; + QVLABaseBase::malloced_ptr guard; void *newPtr; qsizetype newA; if (aalloc > prealloc) {