瀏覽代碼

don't create an InetSocketAddress on local address if it's equal to ZT_SOCKADDR_NULL

Grant Limberg 10 年之前
父節點
當前提交
75a191a856
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      java/jni/com_zerotierone_sdk_Node.cpp

+ 6 - 1
java/jni/com_zerotierone_sdk_Node.cpp

@@ -469,7 +469,12 @@ namespace {
             return -2;
         }
         
-        jobject localAddressObj = newInetSocketAddress(env, *localAddress);
+        jobject localAddressObj = NULL;
+        if(memcmp(localAddress, &ZT_SOCKADDR_NULL, sizeof(sockaddr_storage)) != 0)
+        {
+            localAddressObj = newInetSocketAddress(env, *localAddress);
+        }
+
         jobject remoteAddressObj = newInetSocketAddress(env, *remoteAddress);
         jbyteArray bufferObj = env->NewByteArray(bufferSize);
         env->SetByteArrayRegion(bufferObj, 0, bufferSize, (jbyte*)buffer);