src/solaris/native/java/net/NetworkInterface.c
Print this page
@@ -217,11 +217,13 @@
ifs = enumInterfaces(env);
if (ifs == NULL) {
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
*/
curr = ifs;
@@ -487,18 +489,19 @@
int len;
int sock;
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) {
+ if ((sock = openSocketWithFallback(env, name_utf)) < 0) {
(*env)->ReleaseStringUTFChars(env, name, name_utf);
return JNI_FALSE;
}
-
if (!IS_NULL(addrArray)) {
(*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
addr = ((caddr[0]<<24) & 0xff000000);
addr |= ((caddr[1] <<16) & 0xff0000);
addr |= ((caddr[2] <<8) & 0xff00);
@@ -534,13 +537,15 @@
jboolean isCopy;
int ret = -1;
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) {
+ if ((sock = openSocketWithFallback(env, name_utf)) < 0) {
(*env)->ReleaseStringUTFChars(env, name, name_utf);
return JNI_FALSE;
}
ret = getMTU(env, sock, name_utf);
@@ -557,19 +562,19 @@
jboolean isCopy;
int ret, sock;
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;
}
- name_utf = (*env)->GetStringUTFChars(env, name, &isCopy);
-
ret = getFlags(sock, name_utf, &flags);
close(sock);
(*env)->ReleaseStringUTFChars(env, name, name_utf);