From 43306bf174a0fcc2c4b0db35117bf603d00710c9 Mon Sep 17 00:00:00 2001 From: Mis012 Date: Mon, 9 Oct 2023 20:11:36 +0200 Subject: [PATCH] api-impl/android/content/res/AssetManager: fix infinite loop with suspicious self-referencing arsc entries --- src/api-impl/android/content/res/AssetManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/api-impl/android/content/res/AssetManager.java b/src/api-impl/android/content/res/AssetManager.java index 343d9103..19528f27 100644 --- a/src/api-impl/android/content/res/AssetManager.java +++ b/src/api-impl/android/content/res/AssetManager.java @@ -212,6 +212,10 @@ public final class AssetManager { return ""; ResValue resValue = tableBlockSearch(id).pickOne().getResValue(); if (resValue.getValueType() == ValueType.REFERENCE) { + if(id == resValue.getData()) { + System.out.println("getResourceText: self-reference... returing \"\""); + return ""; + } return getResourceText(resValue.getData()); } return resValue.getDataAsPoolString().get();