Fixed potential NULL dereference.
[oweals/gnunet.git] / src / nat / gnunet-nat.c
index 50e0dff0f7ecb9cebb17b2022132f1c2e504b135..72f34362733fd5a65db13ceabcb3b8cddf7979bc 100644 (file)
@@ -377,10 +377,16 @@ run (void *cls,
     ls = GNUNET_NETWORK_socket_create (af,
                                       SOCK_DGRAM,
                                       IPPROTO_UDP);
+    if (NULL == ls)
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_MESSAGE,
+      "Failed to create socket\n");
+      goto fail_and_shutdown;
+    }
     if (GNUNET_OK !=
-       GNUNET_NETWORK_socket_bind (ls,
-                                   local_sa,
-                                   local_len))
+        GNUNET_NETWORK_socket_bind (ls,
+                                    local_sa,
+                                    local_len))
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                  "Failed to bind to %s: %s\n",
@@ -419,40 +425,40 @@ main (int argc,
 {
   struct GNUNET_GETOPT_CommandLineOption options[] = {
 
-    GNUNET_GETOPT_OPTION_STRING ('i',
+    GNUNET_GETOPT_option_string ('i',
                                  "in",
                                  "ADDRESS",
                                  gettext_noop ("which IP and port are we locally using to bind/listen to"),
                                  &local_addr),
 
-    GNUNET_GETOPT_OPTION_STRING ('r',
+    GNUNET_GETOPT_option_string ('r',
                                  "remote",
                                  "ADDRESS",
                                  gettext_noop ("which remote IP and port should be asked for connection reversal"),
                                  &remote_addr),
 
-    GNUNET_GETOPT_OPTION_STRING ('S',
+    GNUNET_GETOPT_option_string ('S',
                                  "section",
                                  NULL,
                                  gettext_noop ("name of configuration section to find additional options, such as manual host punching data"),
                                  &section_name),
 
-    GNUNET_GETOPT_OPTION_SET_ONE ('s',
+    GNUNET_GETOPT_option_flag ('s',
                                   "stun",
                                   gettext_noop ("enable STUN processing"),
                                   &do_stun),
 
-    GNUNET_GETOPT_OPTION_SET_ONE ('t',
+    GNUNET_GETOPT_option_flag ('t',
                                   "tcp",
                                   gettext_noop ("use TCP"),
                                   &use_tcp),
 
-    GNUNET_GETOPT_OPTION_SET_ONE ('u',
+    GNUNET_GETOPT_option_flag ('u',
                                   "udp",
                                   gettext_noop ("use UDP"),
                                   &use_udp),
 
-    GNUNET_GETOPT_OPTION_SET_ONE ('W',
+    GNUNET_GETOPT_option_flag ('W',
                                   "watch",
                                   gettext_noop ("watch for connection reversal requests"),
                                   &listen_reversal),