diff options
Diffstat (limited to 'src/transport/transport_api.c')
-rw-r--r-- | src/transport/transport_api.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/transport/transport_api.c b/src/transport/transport_api.c index 3b72ead5f..8b66fb986 100644 --- a/src/transport/transport_api.c +++ b/src/transport/transport_api.c | |||
@@ -619,11 +619,8 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg) | |||
619 | break; | 619 | break; |
620 | } | 620 | } |
621 | im = (const struct InboundMessage *) msg; | 621 | im = (const struct InboundMessage *) msg; |
622 | ats_count = ntohl (im->ats_count); | 622 | imm = (const struct GNUNET_MessageHeader *) &im[1]; |
623 | ats = (const struct GNUNET_ATS_Information *) &im[1]; | 623 | if (ntohs (imm->size) + sizeof (struct InboundMessage) != size) |
624 | imm = (const struct GNUNET_MessageHeader *) &ats[ats_count]; | ||
625 | if (ntohs (imm->size) + sizeof (struct InboundMessage) + | ||
626 | ats_count * sizeof (struct GNUNET_ATS_Information) != size) | ||
627 | { | 624 | { |
628 | GNUNET_break (0); | 625 | GNUNET_break (0); |
629 | break; | 626 | break; |
@@ -637,7 +634,7 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg) | |||
637 | break; | 634 | break; |
638 | } | 635 | } |
639 | if (h->rec != NULL) | 636 | if (h->rec != NULL) |
640 | h->rec (h->cls, &im->peer, imm, ats, ats_count); | 637 | h->rec (h->cls, &im->peer, imm); |
641 | break; | 638 | break; |
642 | case GNUNET_MESSAGE_TYPE_TRANSPORT_SET_QUOTA: | 639 | case GNUNET_MESSAGE_TYPE_TRANSPORT_SET_QUOTA: |
643 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Receiving `%s' message.\n", "SET_QUOTA"); | 640 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Receiving `%s' message.\n", "SET_QUOTA"); |