summaryrefslogtreecommitdiffstats
path: root/core/jni/android_app_backup_FullBackup.cpp
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2011-09-23 13:12:49 -0700
committerChristopher Tate <ctate@google.com>2011-09-23 13:12:49 -0700
commitca1605e6e342a8e17859daf03bd23fdad1ad83a0 (patch)
tree9b4f184e1849ac655e9c2925b82a70dcd350f314 /core/jni/android_app_backup_FullBackup.cpp
parent904fb9d79cc72879e4c6767c219ec78feda8e62b (diff)
downloadframeworks_base-ca1605e6e342a8e17859daf03bd23fdad1ad83a0.zip
frameworks_base-ca1605e6e342a8e17859daf03bd23fdad1ad83a0.tar.gz
frameworks_base-ca1605e6e342a8e17859daf03bd23fdad1ad83a0.tar.bz2
Don't crash during full backup when CheckJNI is enabled
It's not okay to pass null to JNI methods and trust that it will just back off and return a null result cleanly. Fixes bug 5361822 . Change-Id: Id8a17b958fd183d55cb6475f394e158c13aae2ea
Diffstat (limited to 'core/jni/android_app_backup_FullBackup.cpp')
-rw-r--r--core/jni/android_app_backup_FullBackup.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/jni/android_app_backup_FullBackup.cpp b/core/jni/android_app_backup_FullBackup.cpp
index b36fa3e..6ef62a9 100644
--- a/core/jni/android_app_backup_FullBackup.cpp
+++ b/core/jni/android_app_backup_FullBackup.cpp
@@ -76,10 +76,10 @@ static int backupToTar(JNIEnv* env, jobject clazz, jstring packageNameObj,
int ret;
// Extract the various strings, allowing for null object pointers
- const char* packagenamechars = env->GetStringUTFChars(packageNameObj, NULL);
- const char* rootchars = env->GetStringUTFChars(rootpathObj, NULL);
- const char* pathchars = env->GetStringUTFChars(pathObj, NULL);
- const char* domainchars = env->GetStringUTFChars(domainObj, NULL);
+ const char* packagenamechars = (packageNameObj) ? env->GetStringUTFChars(packageNameObj, NULL) : NULL;
+ const char* rootchars = (rootpathObj) ? env->GetStringUTFChars(rootpathObj, NULL) : NULL;
+ const char* pathchars = (pathObj) ? env->GetStringUTFChars(pathObj, NULL) : NULL;
+ const char* domainchars = (domainObj) ? env->GetStringUTFChars(domainObj, NULL) : NULL;
String8 packageName(packagenamechars ? packagenamechars : "");
String8 rootpath(rootchars ? rootchars : "");