summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiao Chou <mcchou@google.com>2015-07-20 12:14:25 -0700
committerBrint E. Kriebel <bekit@cyngn.com>2015-10-05 15:19:31 -0700
commit36794e64e0cca17fdcfc5af989e978592aa572f5 (patch)
treebf6bebd0c807ad6fb78b2d0ce903000d6bce8743
parent011dbd1b74fada0d95fb6fc114a619da8157f2c8 (diff)
downloadandroid_packages_apps_Bluetooth-36794e64e0cca17fdcfc5af989e978592aa572f5.tar.gz
android_packages_apps_Bluetooth-36794e64e0cca17fdcfc5af989e978592aa572f5.tar.bz2
android_packages_apps_Bluetooth-36794e64e0cca17fdcfc5af989e978592aa572f5.zip
DO NOT MERGE Fix security vulnerabilities in permission of deleting MMS/SMS
This CL adds permission check to avoid unauthorized deletion of any MMS/SMS messages in BluetoothMapContentObserver.actionMessageSentDisconnected function. Bug: 22343270 Change-Id: I30254036309733be4d54db17a8ef17a571cd1c5a Ticket: CYNGNOS-985
-rw-r--r--src/com/android/bluetooth/map/BluetoothMapContentObserver.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/bluetooth/map/BluetoothMapContentObserver.java b/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
index c31564297..87918c6d2 100644
--- a/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
+++ b/src/com/android/bluetooth/map/BluetoothMapContentObserver.java
@@ -34,6 +34,7 @@ import java.util.List;
import org.xmlpull.v1.XmlSerializer;
+import android.Manifest;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
@@ -43,11 +44,14 @@ import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.PackageManager;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.text.format.Time;
+import android.os.Binder;
import android.os.Handler;
+import android.os.Process;
import android.provider.BaseColumns;
import android.provider.Telephony;
import android.provider.Telephony.Mms;
@@ -1197,6 +1201,13 @@ public class BluetoothMapContentObserver {
private void actionMessageSent(Context context, Intent intent,
PushMsgInfo msgInfo) {
+ /* Check permission for message deletion. */
+ if (context.checkCallingOrSelfPermission(android.Manifest.permission.WRITE_SMS)
+ != PackageManager.PERMISSION_GRANTED) {
+ Log.w(TAG, "actionMessageSent: Not allowed to delete SMS/MMS messages");
+ return;
+ }
+
int result = getResultCode();
boolean delete = false;