From b078f0ca37020b1aefdbe34724370f6b08c7d600 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sat, 18 Nov 2023 19:18:13 +0100 Subject: [PATCH] fix(YouTube): Check if `protobufBuffer` can be filtered An `UnsupportedOperationException` exception would be thrown in `LithoFilterParameters#LithoFilterParameters` if this buffer is not backed by an accessible array --- .../integrations/patches/components/LithoFilterPatch.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/app/revanced/integrations/patches/components/LithoFilterPatch.java b/app/src/main/java/app/revanced/integrations/patches/components/LithoFilterPatch.java index 5213025d..8176a285 100644 --- a/app/src/main/java/app/revanced/integrations/patches/components/LithoFilterPatch.java +++ b/app/src/main/java/app/revanced/integrations/patches/components/LithoFilterPatch.java @@ -489,10 +489,11 @@ public final class LithoFilterPatch { return false; ByteBuffer protobufBuffer = bufferThreadLocal.get(); - if (protobufBuffer == null) { - LogHelper.printException(() -> "Proto buffer is null"); // Should never happen + if (protobufBuffer == null || !protobufBuffer.hasArray()) { + LogHelper.printException(() -> "Proto buffer is null or has no array"); // Should never happen. return false; } + LithoFilterParameters parameter = new LithoFilterParameters(lithoIdentifier, pathBuilder, protobufBuffer); LogHelper.printDebug(() -> "Searching " + parameter);