summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/media/MediaScannerService.java
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@google.com>2012-09-18 11:58:16 -0700
committerMike Lockwood <lockwood@google.com>2012-09-18 13:04:46 -0700
commit704fe6bc9da64c3d99db9b5a40705419aa091ce4 (patch)
tree1087fec9d4d085def2fa4f4cf955b248a1fc2a49 /src/com/android/providers/media/MediaScannerService.java
parent57b65f10aaafc4bf42a0fa59eb2bbe6c8371c2e6 (diff)
downloadandroid_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.java9
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