From 8f97d76080b9617fc67d01f2bc8de36a5b0a1175 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 6 May 2019 19:28:35 +0000 Subject: archive: fixed crash on some corrupted archives (#998) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8861 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/archive/decoderarchivefactory.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/plugins/Input/archive/decoderarchivefactory.cpp') diff --git a/src/plugins/Input/archive/decoderarchivefactory.cpp b/src/plugins/Input/archive/decoderarchivefactory.cpp index 3b83616c2..119e30d83 100644 --- a/src/plugins/Input/archive/decoderarchivefactory.cpp +++ b/src/plugins/Input/archive/decoderarchivefactory.cpp @@ -112,6 +112,14 @@ QList DecoderArchiveFactory::createPlayList(const QString &path, Tr ArchiveInputDevice dev(a, entry, nullptr); ArchiveTagReader reader(&dev, list.last()->path()); + if(!dev.isOpen()) + { + qDeleteAll(list); + list.clear(); + archive_read_free(a); + return list; + } + if(parts & TrackInfo::MetaData) list.last()->setValues(reader.metaData()); -- cgit v1.2.3-13-gbd6f