diff --git a/kerfuffle/cliinterface.cpp b/kerfuffle/cliinterface.cpp --- a/kerfuffle/cliinterface.cpp +++ b/kerfuffle/cliinterface.cpp @@ -388,6 +388,13 @@ return; } + // unzip exits with code 81 when failing to extract AES-encrypted archives. + if (!password().isEmpty() && m_exitCode == 81) { + emit error(i18n("Extraction failed because of unsupported compression or encryption method.")); + emit finished(false); + return; + } + if (m_extractionOptions.alwaysUseTempDir()) { // unar exits with code 1 if extraction fails. // This happens at least with wrong passwords or not enough space in the destination folder.