diff --git a/src/OpenFOAM/containers/Lists/List/ListI.H b/src/OpenFOAM/containers/Lists/List/ListI.H index 63a17ef8c1..f57187f979 100644 --- a/src/OpenFOAM/containers/Lists/List/ListI.H +++ b/src/OpenFOAM/containers/Lists/List/ListI.H @@ -163,6 +163,8 @@ inline T& Foam::List::newElmt(const label i) if (i >= n) { + if (!n) n = 1; // Avoid dead-lock when starting from zero-sized + do { n *= 2; diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C index a5698b110d..2badf4de80 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C @@ -114,8 +114,10 @@ void Foam::ITstream::reserveCapacity label n = tokenList::size(); - if (nElem >= n) + if (nElem > n) { + if (!n) n = 1; // Avoid dead-lock when starting from zero-sized + do { n *= 2;