--- old/src/solaris/native/java/net/NetworkInterface.c 2013-08-08 17:21:29.273811248 +0400 +++ new/src/solaris/native/java/net/NetworkInterface.c 2013-08-08 17:21:29.013814516 +0400 @@ -219,7 +219,9 @@ return NULL; } - name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); + if ((name_utf = (*env)->GetStringUTFChars(env, name, &isCopy)) == NULL) { + return NULL; + } /* * Search the list of interface based on name @@ -489,11 +491,13 @@ jboolean isCopy; const char* name_utf; - name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); + if ((name_utf = (*env)->GetStringUTFChars(env, name, &isCopy)) == NULL) { + return JNI_FALSE; + } - if ((sock =openSocketWithFallback(env, name_utf)) < 0) { - (*env)->ReleaseStringUTFChars(env, name, name_utf); - return JNI_FALSE; + if ((sock = openSocketWithFallback(env, name_utf)) < 0) { + (*env)->ReleaseStringUTFChars(env, name, name_utf); + return JNI_FALSE; } @@ -536,11 +540,13 @@ int sock; const char* name_utf; - name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); + if ((name_utf = (*env)->GetStringUTFChars(env, name, &isCopy)) == NULL) { + return JNI_FALSE; + } - if ((sock =openSocketWithFallback(env, name_utf)) < 0) { - (*env)->ReleaseStringUTFChars(env, name, name_utf); - return JNI_FALSE; + if ((sock = openSocketWithFallback(env, name_utf)) < 0) { + (*env)->ReleaseStringUTFChars(env, name, name_utf); + return JNI_FALSE; } ret = getMTU(env, sock, name_utf); @@ -559,15 +565,15 @@ const char* name_utf; int flags = 0; - name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); + if ((name_utf = (*env)->GetStringUTFChars(env, name, &isCopy)) == NULL) { + return -1; + } if ((sock = openSocketWithFallback(env, name_utf)) < 0) { (*env)->ReleaseStringUTFChars(env, name, name_utf); - return -1; + return -1; } - name_utf = (*env)->GetStringUTFChars(env, name, &isCopy); - ret = getFlags(sock, name_utf, &flags); close(sock);