From 6d4928d585cc35fa7fa3d6599934b07599c9ca7a Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Thu, 16 Jul 2020 10:12:25 +0200 Subject: [PATCH] ENH: extend nullptr check for tmp ptr() method (#1775) - Cannot call ptr_->clone() with a null pointer! --- src/OpenFOAM/memory/tmp/tmpI.H | 15 ++++++++------- src/OpenFOAM/memory/tmp/tmpNrcI.H | 14 +++++++------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/OpenFOAM/memory/tmp/tmpI.H b/src/OpenFOAM/memory/tmp/tmpI.H index 53fa27f1a7..729a13fedb 100644 --- a/src/OpenFOAM/memory/tmp/tmpI.H +++ b/src/OpenFOAM/memory/tmp/tmpI.H @@ -260,15 +260,16 @@ inline T& Foam::tmp::constCast() const template inline T* Foam::tmp::ptr() const { + if (!ptr_) + { + FatalErrorInFunction + << typeName() << " deallocated" + << abort(FatalError); + } + if (isTmp()) { - if (!ptr_) - { - FatalErrorInFunction - << typeName() << " deallocated" - << abort(FatalError); - } - else if (!ptr_->unique()) + if (!ptr_->unique()) { FatalErrorInFunction << "Attempt to acquire pointer to object referred to" diff --git a/src/OpenFOAM/memory/tmp/tmpNrcI.H b/src/OpenFOAM/memory/tmp/tmpNrcI.H index 19046f3c3f..36ec5e8b8a 100644 --- a/src/OpenFOAM/memory/tmp/tmpNrcI.H +++ b/src/OpenFOAM/memory/tmp/tmpNrcI.H @@ -224,15 +224,15 @@ inline T& Foam::tmpNrc::constCast() const template inline T* Foam::tmpNrc::ptr() const { + if (!ptr_) + { + FatalErrorInFunction + << typeName() << " deallocated" + << abort(FatalError); + } + if (isTmp()) { - if (!ptr_) - { - FatalErrorInFunction - << typeName() << " deallocated" - << abort(FatalError); - } - T* p = ptr_; ptr_ = nullptr;