gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r21225 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r21225 - gnunet/src/transport
Date: Wed, 2 May 2012 15:30:58 +0200

Author: wachs
Date: 2012-05-02 15:30:58 +0200 (Wed, 02 May 2012)
New Revision: 21225

Modified:
   gnunet/src/transport/plugin_transport_tcp.c
Log:
- fixed tcp_string_to_address


Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2012-05-02 13:25:32 UTC (rev 
21224)
+++ gnunet/src/transport/plugin_transport_tcp.c 2012-05-02 13:30:58 UTC (rev 
21225)
@@ -589,11 +589,33 @@
     void **buf, size_t *added)
 {
   struct sockaddr_storage socket_address;
-  int ret = GNUNET_STRINGS_to_address_ip (addr, addrlen,
+
+  if ((NULL == addr) || (addrlen == 0))
+  {
+    GNUNET_break (0);
+    return GNUNET_SYSERR;
+  }
+
+  if ('\0' != addr[addrlen - 1])
+  {
+    GNUNET_break (0);
+    return GNUNET_SYSERR;
+  }
+
+  if (strlen (addr) != addrlen - 1)
+  {
+    GNUNET_break (0);
+    return GNUNET_SYSERR;
+  }
+
+  int ret = GNUNET_STRINGS_to_address_ip (addr, strlen (addr),
     &socket_address);
 
   if (ret != GNUNET_OK)
+  {
+    GNUNET_break (0);
     return GNUNET_SYSERR;
+  }
 
   if (socket_address.ss_family == AF_INET)
   {
@@ -604,6 +626,7 @@
     t4->t4_port = in4->sin_port;
     *buf = t4;
     *added = sizeof (struct IPv4TcpAddress);
+    return GNUNET_OK;
   }
   else if (socket_address.ss_family == AF_INET6)
   {
@@ -614,6 +637,7 @@
     t6->t6_port = in6->sin6_port;
     *buf = t6;
     *added = sizeof (struct IPv6TcpAddress);
+    return GNUNET_OK;
   }
   return GNUNET_SYSERR;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]