diff options
author | Jeff Sharkey <jsharkey@android.com> | 2013-08-15 11:50:02 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2013-08-15 12:04:37 -0700 |
commit | e0475c828773aae42bf6bf54422df996d6b0fcef (patch) | |
tree | 127cb2c8f303731bfcecb5ebb6c83c62d29199ab /core/jni/android_app_NativeActivity.cpp | |
parent | 2241d45c68739e5bdf187ba3325ee237ef143e21 (diff) | |
download | frameworks_base-e0475c828773aae42bf6bf54422df996d6b0fcef.zip frameworks_base-e0475c828773aae42bf6bf54422df996d6b0fcef.tar.gz frameworks_base-e0475c828773aae42bf6bf54422df996d6b0fcef.tar.bz2 |
Gracefully handle missing directories.
Bug: 10295932
Change-Id: I9d18682d0ba57bf7f77d043ee8dab286ee80ba2a
Diffstat (limited to 'core/jni/android_app_NativeActivity.cpp')
-rw-r--r-- | core/jni/android_app_NativeActivity.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/core/jni/android_app_NativeActivity.cpp b/core/jni/android_app_NativeActivity.cpp index f768ce8..5418006 100644 --- a/core/jni/android_app_NativeActivity.cpp +++ b/core/jni/android_app_NativeActivity.cpp @@ -306,19 +306,23 @@ loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName code->internalDataPath = code->internalDataPathObj.string(); env->ReleaseStringUTFChars(internalDataDir, dirStr); - dirStr = env->GetStringUTFChars(externalDataDir, NULL); - code->externalDataPathObj = dirStr; + if (externalDataDir != NULL) { + dirStr = env->GetStringUTFChars(externalDataDir, NULL); + code->externalDataPathObj = dirStr; + env->ReleaseStringUTFChars(externalDataDir, dirStr); + } code->externalDataPath = code->externalDataPathObj.string(); - env->ReleaseStringUTFChars(externalDataDir, dirStr); code->sdkVersion = sdkVersion; code->assetManager = assetManagerForJavaObject(env, jAssetMgr); - dirStr = env->GetStringUTFChars(obbDir, NULL); - code->obbPathObj = dirStr; + if (obbDir != NULL) { + dirStr = env->GetStringUTFChars(obbDir, NULL); + code->obbPathObj = dirStr; + env->ReleaseStringUTFChars(obbDir, dirStr); + } code->obbPath = code->obbPathObj.string(); - env->ReleaseStringUTFChars(obbDir, dirStr); jbyte* rawSavedState = NULL; jsize rawSavedSize = 0; |