From 182da09b7293b005f408781a1b0a1de41c8b7667 Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Thu, 21 Jun 2012 15:41:05 +0000 Subject: [PATCH 1/1] - use blocks for checking by type results --- src/mesh/gnunet-service-mesh_new.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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; -- 2.25.1