From 4f33c4a3684b8dc097e9230f58cd2c0850563f14 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 30 Oct 2023 11:16:50 +0200 Subject: [PATCH] Android: properly parse colon separated local libs in QtLoader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'load_local_libs' array might contain lib names separated by a colon that the new loader code didn't account for, that led to attempting to load an invalid library path and thus crashing if anthing depends on that library (in this case the Android plugin). Amends 3a505a859a9ffd4a79c08e1aa7c97a6979fcef92. Task-number: QTBUG-115016 Change-Id: I864c7af7da7016721530c18a412befc5c6a5caa3 Reviewed-by: Tinja Paavoseppä --- src/android/jar/src/org/qtproject/qt/android/QtLoader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java index 80dd3a00a1..06da722988 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java @@ -337,7 +337,11 @@ public abstract class QtLoader { @SuppressLint("DiscouragedApi") private ArrayList getLocalLibrariesList() { int id = m_resources.getIdentifier("load_local_libs", "array", m_packageName); - return preferredAbiLibs(m_resources.getStringArray(id)); + ArrayList localLibs = new ArrayList<>(); + for (String arrayItem : preferredAbiLibs(m_resources.getStringArray(id))) { + Collections.addAll(localLibs, arrayItem.split(":")); + } + return localLibs; } @SuppressLint("DiscouragedApi")