diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-05-21 18:10:38 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-05-21 18:10:38 +0200 |
commit | 61bf943d09cd43ca5fe9de1a8d329b808b0b194d (patch) | |
tree | 7676c015238a5b2d46b56af58bde4643913c3dd0 /src/dht | |
parent | 882a4ce1bb696d00abaa841ac88737765588cee9 (diff) | |
download | gnunet-61bf943d09cd43ca5fe9de1a8d329b808b0b194d.tar.gz gnunet-61bf943d09cd43ca5fe9de1a8d329b808b0b194d.zip |
fix crash on unexpected client disconnect on incoming message, remove bogus assertion
Diffstat (limited to 'src/dht')
-rw-r--r-- | src/dht/plugin_block_dht.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/dht/plugin_block_dht.c b/src/dht/plugin_block_dht.c index 24f8b21b2..9f2861b50 100644 --- a/src/dht/plugin_block_dht.c +++ b/src/dht/plugin_block_dht.c | |||
@@ -66,7 +66,8 @@ block_plugin_dht_create_group (void *cls, | |||
66 | guard = va_arg (va, const char *); | 66 | guard = va_arg (va, const char *); |
67 | if (0 == strcmp (guard, | 67 | if (0 == strcmp (guard, |
68 | "seen-set-size")) | 68 | "seen-set-size")) |
69 | bf_size = GNUNET_BLOCK_GROUP_compute_bloomfilter_size (va_arg (va, unsigned int), | 69 | bf_size = GNUNET_BLOCK_GROUP_compute_bloomfilter_size (va_arg (va, |
70 | unsigned int), | ||
70 | BLOOMFILTER_K); | 71 | BLOOMFILTER_K); |
71 | else if (0 == strcmp (guard, | 72 | else if (0 == strcmp (guard, |
72 | "filter-size")) | 73 | "filter-size")) |
@@ -183,14 +184,17 @@ block_plugin_dht_get_key (void *cls, | |||
183 | return GNUNET_SYSERR; | 184 | return GNUNET_SYSERR; |
184 | if (block_size < sizeof (struct GNUNET_MessageHeader)) | 185 | if (block_size < sizeof (struct GNUNET_MessageHeader)) |
185 | { | 186 | { |
186 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "block-dht", | 187 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, |
187 | _("Block not of type %u\n"), GNUNET_BLOCK_TYPE_DHT_HELLO); | 188 | "block-dht", |
189 | _("Block not of type %u\n"), | ||
190 | GNUNET_BLOCK_TYPE_DHT_HELLO); | ||
188 | return GNUNET_NO; | 191 | return GNUNET_NO; |
189 | } | 192 | } |
190 | msg = block; | 193 | msg = block; |
191 | if (block_size != ntohs (msg->size)) | 194 | if (block_size != ntohs (msg->size)) |
192 | { | 195 | { |
193 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "block-dht", | 196 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, |
197 | "block-dht", | ||
194 | _("Size mismatch for block\n"), | 198 | _("Size mismatch for block\n"), |
195 | GNUNET_BLOCK_TYPE_DHT_HELLO); | 199 | GNUNET_BLOCK_TYPE_DHT_HELLO); |
196 | return GNUNET_NO; | 200 | return GNUNET_NO; |
@@ -200,7 +204,8 @@ block_plugin_dht_get_key (void *cls, | |||
200 | pid = (struct GNUNET_PeerIdentity *) key; | 204 | pid = (struct GNUNET_PeerIdentity *) key; |
201 | if (GNUNET_OK != GNUNET_HELLO_get_id (hello, pid)) | 205 | if (GNUNET_OK != GNUNET_HELLO_get_id (hello, pid)) |
202 | { | 206 | { |
203 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "block-dht", | 207 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, |
208 | "block-dht", | ||
204 | _("Block of type %u is malformed\n"), | 209 | _("Block of type %u is malformed\n"), |
205 | GNUNET_BLOCK_TYPE_DHT_HELLO); | 210 | GNUNET_BLOCK_TYPE_DHT_HELLO); |
206 | return GNUNET_NO; | 211 | return GNUNET_NO; |