diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateInstaller.kt b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateInstaller.kt index 7e7c766e5326..2b45327d3270 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateInstaller.kt +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateInstaller.kt @@ -23,6 +23,7 @@ import java.io.IOException import java.net.URL import java.nio.file.Files import java.nio.file.Paths +import java.util.zip.ZipException import java.util.zip.ZipFile import javax.swing.JComponent import javax.swing.UIManager @@ -61,11 +62,16 @@ internal object UpdateInstaller { } } HttpRequests.request(url).gzip(false).saveToFile(patchFile, partIndicator) - ZipFile(patchFile).use { - if (it.getEntry(PATCH_FILE_NAME) == null || it.getEntry(UPDATER_ENTRY) == null) { - throw IOException("Corrupted patch file: ${patchFile.name}") + try { + ZipFile(patchFile).use { + if (it.getEntry(PATCH_FILE_NAME) == null || it.getEntry(UPDATER_ENTRY) == null) { + throw IOException("Corrupted patch file: ${patchFile.name}") + } } } + catch (e: ZipException) { + throw IOException("Corrupted patch file: ${patchFile.name}", e) + } files += patchFile }