From 71be0cba7bbd0f1a18819da208aabc52f1041ae2 Mon Sep 17 00:00:00 2001 From: xynngh Date: Fri, 23 Oct 2020 14:40:28 +0400 Subject: [PATCH] Fix importing blacklist files larger than 4000 bytes --- CHANGELOG.md | 4 ++++ .../yetanothercallblocker/data/BlacklistImporterExporter.java | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37b27e0..2e207e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Fixed + +- Fixed importing blacklist files larger than 4000 bytes. + ## [0.5.9] - 2020-10-20 diff --git a/app/src/main/java/dummydomain/yetanothercallblocker/data/BlacklistImporterExporter.java b/app/src/main/java/dummydomain/yetanothercallblocker/data/BlacklistImporterExporter.java index a9f12fc..b91c654 100644 --- a/app/src/main/java/dummydomain/yetanothercallblocker/data/BlacklistImporterExporter.java +++ b/app/src/main/java/dummydomain/yetanothercallblocker/data/BlacklistImporterExporter.java @@ -120,7 +120,9 @@ public class BlacklistImporterExporter { List items = null; try (BufferedInputStream bis = new BufferedInputStream(inputStream)) { - bis.mark(4000); + // BufferedReaders used in `isYacbBackup` and `isNoPhoneSpamBackup` use 8192 char buffers, + // the max size of a UTF-8 char is 4 bytes. + bis.mark(8192 * 4); if (isYacbBackup(new InputStreamReader(bis))) { bis.reset();