dont allow generating invalid saf urls, improves #34

This commit is contained in:
Taner Sener 2021-11-07 14:08:51 +00:00
parent 3f8ec5d2f7
commit 83d1fc6e72

View File

@ -852,15 +852,17 @@ public class FFmpegKitConfig {
} }
} catch (final Throwable t) { } catch (final Throwable t) {
android.util.Log.e(TAG, String.format("Failed to get %s column for %s.%s", DocumentsContract.Document.COLUMN_DISPLAY_NAME, uri.toString(), Exceptions.getStackTraceString(t))); android.util.Log.e(TAG, String.format("Failed to get %s column for %s.%s", DocumentsContract.Document.COLUMN_DISPLAY_NAME, uri.toString(), Exceptions.getStackTraceString(t)));
throw t;
} }
int fd = -1; final int fd;
try { try {
ParcelFileDescriptor parcelFileDescriptor = context.getContentResolver().openFileDescriptor(uri, openMode); ParcelFileDescriptor parcelFileDescriptor = context.getContentResolver().openFileDescriptor(uri, openMode);
fd = parcelFileDescriptor.getFd(); fd = parcelFileDescriptor.getFd();
pfdMap.put(fd, parcelFileDescriptor); pfdMap.put(fd, parcelFileDescriptor);
} catch (final Throwable t) { } catch (final Throwable t) {
android.util.Log.e(TAG, String.format("Failed to obtain %s parcelFileDescriptor for %s.%s", openMode, uri.toString(), Exceptions.getStackTraceString(t))); android.util.Log.e(TAG, String.format("Failed to obtain %s parcelFileDescriptor for %s.%s", openMode, uri.toString(), Exceptions.getStackTraceString(t)));
throw new IllegalArgumentException(String.format("Failed to obtain %s parcelFileDescriptor for %s.", openMode, uri.toString()), t);
} }
return "saf:" + fd + "." + FFmpegKitConfig.extractExtensionFromSafDisplayName(displayName); return "saf:" + fd + "." + FFmpegKitConfig.extractExtensionFromSafDisplayName(displayName);