summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java')
-rw-r--r--src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java b/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java
index 2c36752..bb267da 100644
--- a/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java
+++ b/src/com/android/messaging/ui/mediapicker/DocumentImagePicker.java
@@ -24,6 +24,8 @@ import android.os.Bundle;
import com.android.messaging.Factory;
import com.android.messaging.datamodel.data.PendingAttachmentData;
import com.android.messaging.ui.UIIntents;
+import com.android.messaging.util.LogUtil;
+import com.android.messaging.util.FileUtil;
import com.android.messaging.util.ImageUtils;
import com.android.messaging.util.SafeAsyncTask;
@@ -111,12 +113,23 @@ public class DocumentImagePicker {
new SafeAsyncTask<Void, Void, String>() {
@Override
protected String doInBackgroundTimed(final Void... params) {
+ if (FileUtil.isInPrivateDir(documentUri)) {
+ // hacker sending private app data. Bail out
+ if (LogUtil.isLoggable(LogUtil.BUGLE_TAG, LogUtil.ERROR)) {
+ LogUtil.e(LogUtil.BUGLE_TAG, "Aborting attach of private app data ("
+ + documentUri + ")");
+ }
+ return null;
+ }
return ImageUtils.getContentType(
Factory.get().getApplicationContext().getContentResolver(), documentUri);
}
@Override
protected void onPostExecute(final String contentType) {
+ if (contentType == null) {
+ return; // bad uri on input
+ }
// Ask the listener to create a temporary placeholder item to show the progress.
final PendingAttachmentData pendingItem =
PendingAttachmentData.createPendingAttachmentData(contentType,