diff options
author | Mike Lockwood <lockwood@google.com> | 2012-09-18 11:58:16 -0700 |
---|---|---|
committer | Mike Lockwood <lockwood@google.com> | 2012-09-18 13:04:46 -0700 |
commit | 704fe6bc9da64c3d99db9b5a40705419aa091ce4 (patch) | |
tree | 1087fec9d4d085def2fa4f4cf955b248a1fc2a49 /src/com/android/providers/media/MediaScannerService.java | |
parent | 57b65f10aaafc4bf42a0fa59eb2bbe6c8371c2e6 (diff) | |
download | android_packages_providers_MediaProvider-704fe6bc9da64c3d99db9b5a40705419aa091ce4.tar.gz android_packages_providers_MediaProvider-704fe6bc9da64c3d99db9b5a40705419aa091ce4.tar.bz2 android_packages_providers_MediaProvider-704fe6bc9da64c3d99db9b5a40705419aa091ce4.zip |
Make sure file paths are canonical in scanFile()
Bug: 6987701
Change-Id: I55d2f95ab63df19f9c9ba39da5215893b8e658e4
Signed-off-by: Mike Lockwood <lockwood@google.com>
Diffstat (limited to 'src/com/android/providers/media/MediaScannerService.java')
-rw-r--r-- | src/com/android/providers/media/MediaScannerService.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/providers/media/MediaScannerService.java b/src/com/android/providers/media/MediaScannerService.java index 46e5b2ee..40bb10a5 100644 --- a/src/com/android/providers/media/MediaScannerService.java +++ b/src/com/android/providers/media/MediaScannerService.java @@ -190,7 +190,14 @@ public class MediaScannerService extends Service implements Runnable String volumeName = MediaProvider.EXTERNAL_VOLUME; openDatabase(volumeName); MediaScanner scanner = createMediaScanner(); - return scanner.scanSingleFile(path, volumeName, mimeType); + try { + // make sure the file path is in canonical form + String canonicalPath = new File(path).getCanonicalPath(); + return scanner.scanSingleFile(canonicalPath, volumeName, mimeType); + } catch (Exception e) { + Log.e(TAG, "bad path " + path + " in scanFile()", e); + return null; + } } @Override |