Correct deletion of non-allocated memory in ngarray

A default-constructed (or just empty) ngarray will have 'ownmem' set
despite not having an allocated data array.  Destructor would then
trigger an abort.
This commit is contained in:
Monty Montgomery 2022-05-15 00:36:17 -04:00
parent 5ee4e43393
commit 6ba4a6e6c6

View File

@ -295,8 +295,9 @@ namespace netgen
/// if responsible, deletes memory /// if responsible, deletes memory
~NgArray() ~NgArray()
{ {
if (ownmem) if (data)
delete [] data; if (ownmem)
delete [] data;
} }
/// Change logical size. If necessary, do reallocation. Keeps contents. /// Change logical size. If necessary, do reallocation. Keeps contents.
@ -374,8 +375,9 @@ namespace netgen
/// Deallocate memory /// Deallocate memory
void DeleteAll () void DeleteAll ()
{ {
if (ownmem) if (data)
delete [] data; if (ownmem)
delete [] data;
data = 0; data = 0;
size = allocsize = 0; size = allocsize = 0;
} }