Merge branch 'master' of ssh://gnunet.org/gnunet
[oweals/gnunet.git] / src / nat / gnunet-nat.c
index 02d68d787e071ed5c7cc671be5b4a54e192e0779..80bfb5726d83ea28fcec10025785a47ed6a26386 100644 (file)
@@ -283,6 +283,9 @@ run (void *cls,
       return;
     }
   }
+
+  remote_len = 0;
+
   if (NULL != remote_addr)
   {
     remote_len = GNUNET_STRINGS_parse_socket_addr (remote_addr,
@@ -300,6 +303,8 @@ run (void *cls,
 
   if (NULL != local_addr)
   {
+    if (NULL == section_name)
+      section_name = GNUNET_strdup ("undefined");
     nh = GNUNET_NAT_register (c,
                              section_name,
                              proto,
@@ -340,9 +345,11 @@ run (void *cls,
       GNUNET_SCHEDULER_shutdown ();
       return;
     }
+    GNUNET_assert (AF_INET == local_sa->sa_family);
+    GNUNET_assert (AF_INET == remote_sa->sa_family);
     ret = GNUNET_NAT_request_reversal (nh,
-                                      (const struct sockaddr_in *) &local_sa,
-                                      (const struct sockaddr_in *) &remote_sa);
+                                      (const struct sockaddr_in *) local_sa,
+                                      (const struct sockaddr_in *) remote_sa);
     switch (ret)
     {
     case GNUNET_SYSERR: