From: Bart Polot Date: Thu, 21 Jun 2012 15:41:05 +0000 (+0000) Subject: - use blocks for checking by type results X-Git-Tag: initial-import-from-subversion-38251~12896 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=182da09b7293b005f408781a1b0a1de41c8b7667;p=oweals%2Fgnunet.git - use blocks for checking by type results --- diff --git a/src/mesh/gnunet-service-mesh_new.c b/src/mesh/gnunet-service-mesh_new.c index ef3f73f98..932fbb3b5 100644 --- a/src/mesh/gnunet-service-mesh_new.c +++ b/src/mesh/gnunet-service-mesh_new.c @@ -3783,13 +3783,19 @@ dht_get_type_handler (void *cls, struct GNUNET_TIME_Absolute exp, unsigned int put_path_length, enum GNUNET_BLOCK_Type type, size_t size, const void *data) { - const struct GNUNET_PeerIdentity *pi = data; + const struct PBlock *pb = data; + const struct GNUNET_PeerIdentity *pi = &pb->id; struct MeshTunnel *t = cls; struct MeshPeerInfo *peer_info; struct MeshPeerPath *p; GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "got type DHT result!\n"); - if (size != sizeof (struct GNUNET_PeerIdentity)) + if (size != sizeof (struct PBlock)) + { + GNUNET_break_op (0); + return; + } + if (ntohl(pb->type) != t->type) { GNUNET_break_op (0); return;