diff options
author | Christopher Tate <ctate@google.com> | 2011-09-23 13:12:49 -0700 |
---|---|---|
committer | Christopher Tate <ctate@google.com> | 2011-09-23 13:12:49 -0700 |
commit | ca1605e6e342a8e17859daf03bd23fdad1ad83a0 (patch) | |
tree | 9b4f184e1849ac655e9c2925b82a70dcd350f314 /core/jni/android_app_backup_FullBackup.cpp | |
parent | 904fb9d79cc72879e4c6767c219ec78feda8e62b (diff) | |
download | frameworks_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.cpp | 8 |
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 : ""); |