diff --git a/src/lefile.cpp b/src/lefile.cpp index 9ed021c3..845fe9f3 100644 --- a/src/lefile.cpp +++ b/src/lefile.cpp @@ -146,6 +146,8 @@ unsigned LeFile::getImageSize() const { void LeFile::readImage() { soimage = pages * mps; + if (!soimage) // late detection, but protect against .alloc(0) + throwCantPack("no soimage"); mb_iimage.alloc(soimage); mb_iimage.clear(); iimage = mb_iimage; // => now a SPAN_S diff --git a/src/p_wcle.cpp b/src/p_wcle.cpp index 7d441bb9..b3688645 100644 --- a/src/p_wcle.cpp +++ b/src/p_wcle.cpp @@ -157,6 +157,8 @@ void PackWcle::readObjectTable() { LeFile::readObjectTable(); // temporary copy of the object descriptors + if (!objects) // late detection, but protect against .alloc(0) + throwCantPack("no objects"); iobject_desc.alloc(objects * sizeof(*iobject_table)); memcpy(iobject_desc, iobject_table, objects * sizeof(*iobject_table));