diff --git a/src/ktar.cpp b/src/ktar.cpp --- a/src/ktar.cpp +++ b/src/ktar.cpp @@ -512,7 +512,12 @@ QString path = QDir::cleanPath(name.left(pos)); // Ensure container directory exists, create otherwise KArchiveDirectory *d = findOrCreate(path); - d->addEntry(e); + if (d) { + d->addEntry(e); + } else { + delete e; + return false; + } } } else { //qCDebug(KArchiveLog) << "Terminating. Read " << n << " bytes, first one is " << buffer[0];