aboutsummaryrefslogtreecommitdiff
path: root/src/peerstore/peerstore_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/peerstore/peerstore_common.c')
-rw-r--r--src/peerstore/peerstore_common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/peerstore/peerstore_common.c b/src/peerstore/peerstore_common.c
index 1f86fe442..96b428aee 100644
--- a/src/peerstore/peerstore_common.c
+++ b/src/peerstore/peerstore_common.c
@@ -194,14 +194,25 @@ PEERSTORE_parse_record_message (const struct GNUNET_MessageHeader *message)
194 194
195 req_size = ntohs (message->size); 195 req_size = ntohs (message->size);
196 if (req_size < sizeof (struct StoreRecordMessage)) 196 if (req_size < sizeof (struct StoreRecordMessage))
197 {
198 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
199 "Received message with invalid size: (%d < %d).\n",
200 req_size, sizeof (struct StoreRecordMessage));
197 return NULL; 201 return NULL;
202 }
198 srm = (struct StoreRecordMessage *) message; 203 srm = (struct StoreRecordMessage *) message;
199 ss_size = ntohs (srm->sub_system_size); 204 ss_size = ntohs (srm->sub_system_size);
200 key_size = ntohs (srm->key_size); 205 key_size = ntohs (srm->key_size);
201 value_size = ntohs (srm->value_size); 206 value_size = ntohs (srm->value_size);
202 if (ss_size + key_size + value_size + sizeof (struct StoreRecordMessage) != 207 if (ss_size + key_size + value_size + sizeof (struct StoreRecordMessage) !=
203 req_size) 208 req_size)
209 {
210 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
211 "Received message with invalid sizes: (%d + %d + %d + %d != %d).\n",
212 ss_size, key_size, value_size, sizeof (struct StoreRecordMessage),
213 req_size);
204 return NULL; 214 return NULL;
215 }
205 record = GNUNET_new (struct GNUNET_PEERSTORE_Record); 216 record = GNUNET_new (struct GNUNET_PEERSTORE_Record);
206 if (GNUNET_YES == ntohs (srm->peer_set)) 217 if (GNUNET_YES == ntohs (srm->peer_set))
207 { 218 {