@@ -816,15 +816,17 @@ int len; ptr = getAdapter(env, index); if (ptr != NULL) { len = ptr->PhysicalAddressLength; + if (len > 0) { ret = (*env)->NewByteArray(env, len); if (!IS_NULL(ret)) { (*env)->SetByteArrayRegion(env, ret, 0, len, (jbyte*) ptr->PhysicalAddress); } + } free(ptr); } return ret; }