diff --git a/app/src/main/java/protect/card_locker/PkpassParser.kt b/app/src/main/java/protect/card_locker/PkpassParser.kt index 918d8b69b..149236150 100644 --- a/app/src/main/java/protect/card_locker/PkpassParser.kt +++ b/app/src/main/java/protect/card_locker/PkpassParser.kt @@ -67,8 +67,17 @@ class PkpassParser(context: Context, uri: Uri?) { try { mContext.contentResolver.openInputStream(uri).use { inputStream -> ZipInputStream(inputStream).use { zipInputStream -> - var localFileHeader: LocalFileHeader - while ((zipInputStream.nextEntry.also { localFileHeader = it }) != null) { + var localFileHeader: LocalFileHeader? + + while (true) { + // Retrieve the next file + localFileHeader = zipInputStream.nextEntry + + // If no next file, exit loop + if (localFileHeader == null) { + break + } + // Ignore directories if (localFileHeader.isDirectory) continue