瀏覽代碼

lpac-jni: Return empty string for null C strings

Peter Cai 2 年之前
父節點
當前提交
515d6aea72
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c

+ 5 - 2
libs/lpac-jni/src/main/jni/lpac-jni/lpac-jni.c

@@ -110,6 +110,9 @@ jstring toJString(JNIEnv *env, const char *pat) {
     jstring jstr = NULL;
     jstring jstr = NULL;
     int len;
     int len;
 
 
+    if (pat == NULL)
+        return (*env)->NewLocalRef(env, empty_string);
+
     len = strlen(pat);
     len = strlen(pat);
     bytes = (*env)->NewByteArray(env, len);
     bytes = (*env)->NewByteArray(env, len);
     (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte *) pat);
     (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte *) pat);
@@ -147,8 +150,8 @@ jobject profile_info_native_to_java(JNIEnv *env, struct es10c_profile_info *info
     iccid = toJString(env, info->iccid);
     iccid = toJString(env, info->iccid);
     isdpAid = toJString(env, info->isdpAid);
     isdpAid = toJString(env, info->isdpAid);
     name = toJString(env, info->profileName);
     name = toJString(env, info->profileName);
-    nickName = info->profileNickname ? toJString(env, info->profileNickname) : (*env)->NewLocalRef(env, empty_string);
-    serviceProvider = info->serviceProviderName ? toJString(env, info->serviceProviderName) : (*env)->NewLocalRef(env, empty_string);
+    nickName = toJString(env, info->profileNickname);
+    serviceProvider = toJString(env, info->serviceProviderName);
 
 
     state = (*env)->CallStaticObjectMethod(env, local_profile_state_class,
     state = (*env)->CallStaticObjectMethod(env, local_profile_state_class,
                                            local_profile_state_from_string,
                                            local_profile_state_from_string,