src/solaris/native/java/lang/ProcessEnvironment_md.c
Print this page
@@ -51,32 +51,33 @@
{
jsize count = 0;
jsize i, j;
jobjectArray result;
jclass byteArrCls = (*env)->FindClass(env, "[B");
+ CHECK_NULL_RETURN(byteArrCls, NULL);
for (i = 0; environ[i]; i++) {
/* Ignore corrupted environment variables */
if (strchr(environ[i], '=') != NULL)
count++;
}
result = (*env)->NewObjectArray(env, 2*count, byteArrCls, 0);
- if (result == NULL) return NULL;
+ CHECK_NULL_RETURN(result, NULL);
for (i = 0, j = 0; environ[i]; i++) {
const char * varEnd = strchr(environ[i], '=');
/* Ignore corrupted environment variables */
if (varEnd != NULL) {
jbyteArray var, val;
const char * valBeg = varEnd + 1;
jsize varLength = varEnd - environ[i];
jsize valLength = strlen(valBeg);
var = (*env)->NewByteArray(env, varLength);
- if (var == NULL) return NULL;
+ CHECK_NULL_RETURN(var, NULL);
val = (*env)->NewByteArray(env, valLength);
- if (val == NULL) return NULL;
+ CHECK_NULL_RETURN(val, NULL);
(*env)->SetByteArrayRegion(env, var, 0, varLength,
(jbyte*) environ[i]);
(*env)->SetByteArrayRegion(env, val, 0, valLength,
(jbyte*) valBeg);
(*env)->SetObjectArrayElement(env, result, 2*j , var);