check if location of cached file makes sense

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2023-05-31 17:26:37 +02:00
parent d49441e036
commit bd23edc9a5
No known key found for this signature in database
GPG key ID: C793F8B59F43CE7B
2 changed files with 10 additions and 2 deletions

View file

@ -126,7 +126,9 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
initNotificationSetup() initNotificationSetup()
if (file != null && file.length() > CHUNK_UPLOAD_THRESHOLD_SIZE) { if (file == null) {
uploadSuccess = false
} else if (file.length() > CHUNK_UPLOAD_THRESHOLD_SIZE) {
Log.d(TAG, "starting chunked upload because size is " + file.length()) Log.d(TAG, "starting chunked upload because size is " + file.length())
initNotificationWithPercentage() initNotificationWithPercentage()

View file

@ -112,9 +112,15 @@ object FileUtils {
} }
@Suppress("NestedBlockDepth") @Suppress("NestedBlockDepth")
fun copyFileToCache(context: Context, sourceFileUri: Uri, filename: String): File { fun copyFileToCache(context: Context, sourceFileUri: Uri, filename: String): File? {
val cachedFile = File(context.cacheDir, filename) val cachedFile = File(context.cacheDir, filename)
if (!cachedFile.canonicalPath.startsWith(context.cacheDir.canonicalPath, true)) {
Log.w(TAG, "cachedFile was not created in cacheDir. Aborting for security reasons.")
cachedFile.delete()
return null
}
if (cachedFile.exists()) { if (cachedFile.exists()) {
Log.d(TAG, "file is already in cache") Log.d(TAG, "file is already in cache")
} else { } else {