From 2c867cf95341daed1509e3cc48fec9de72cfe2f2 Mon Sep 17 00:00:00 2001 From: Lena Date: Wed, 1 Jul 2026 00:00:00 +0000 Subject: app: anchor the picker start path at the storage root The containment check was a bare prefix match, so a sibling such as /storage/emulated/0-evil passed for a root of /storage/emulated/0. --- app/src/main/java/invalid/lena/rsend/FolderPickerActivity.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/invalid/lena/rsend/FolderPickerActivity.kt b/app/src/main/java/invalid/lena/rsend/FolderPickerActivity.kt index 1adccf3..097be3b 100644 --- a/app/src/main/java/invalid/lena/rsend/FolderPickerActivity.kt +++ b/app/src/main/java/invalid/lena/rsend/FolderPickerActivity.kt @@ -37,8 +37,7 @@ class FolderPickerActivity : AppCompatActivity() { // Start where the field already points, if that is a directory under the // root; otherwise at the root itself. val start = intent.getStringExtra("start")?.let { File(it) } - current = if (start != null && start.isDirectory && - start.absolutePath.startsWith(root.absolutePath)) start else root + current = if (start != null && start.isDirectory && underRoot(start)) start else root findViewById