gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r13845 - gnunet/src/transport
Date: Tue, 30 Nov 2010 15:18:21 +0100

Author: grothoff
Date: 2010-11-30 15:18:21 +0100 (Tue, 30 Nov 2010)
New Revision: 13845

Modified:
   gnunet/src/transport/transport_api.c
Log:
fix

Modified: gnunet/src/transport/transport_api.c
===================================================================
--- gnunet/src/transport/transport_api.c        2010-11-30 14:02:25 UTC (rev 
13844)
+++ gnunet/src/transport/transport_api.c        2010-11-30 14:18:21 UTC (rev 
13845)
@@ -1587,13 +1587,21 @@
        n = neighbour_add (h,
                           &cim->id);
       if (n == NULL)
-       return;
+       {
+         GNUNET_break (0);
+         return;
+       }
       GNUNET_break (n->is_connected == GNUNET_NO);
+      if (ntohl ((&cim->ats)[ntohl (cim->ats_count)].type) != 
GNUNET_TRANSPORT_ATS_ARRAY_TERMINATOR)
+       {
+         GNUNET_break (0);
+         return;
+       }
       n->is_connected = GNUNET_YES;
       if (h->nc_cb != NULL)
          h->nc_cb (h->cls, &n->id,
                    &(cim->ats), 
-                   cim->ats_count);
+                   ntohl (cim->ats_count));
       break;
     case GNUNET_MESSAGE_TYPE_TRANSPORT_DISCONNECT:
       if (size != sizeof (struct DisconnectInfoMessage))
@@ -1684,11 +1692,16 @@
          GNUNET_break (0);
          break;
        }
+      if (ntohl ((&im->ats)[ntohl(im->ats_count)].type) != 
GNUNET_TRANSPORT_ATS_ARRAY_TERMINATOR)
+       {
+         GNUNET_break (0);
+         return;
+       }
       if (h->rec != NULL)
        h->rec (h->cls, &im->peer, 
                imm, 
                &im->ats, 
-               im->ats_count);
+               ntohl (im->ats_count));
       break;
     default:
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,




reply via email to

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