From a9a9d47e481109341d4f366a3e9a70de34799c84 Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Fri, 9 Jan 2015 18:04:25 +0000 Subject: [PATCH] - check minimum size, param order --- src/cadet/cadet_api.c | 1 + src/cadet/gnunet-service-cadet_local.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cadet/cadet_api.c b/src/cadet/cadet_api.c index 43fe3535f..f0d01d8aa 100644 --- a/src/cadet/cadet_api.c +++ b/src/cadet/cadet_api.c @@ -1357,6 +1357,7 @@ send_callback (void *cls, size_t size, void *buf) { psize += sizeof (struct GNUNET_CADET_LocalData); GNUNET_assert (size >= psize); + GNUNET_assert (sizeof (struct GNUNET_MessageHeader) <= psize); dmsg->header.size = htons (psize); dmsg->id = htonl (ch->chid); dmsg->header.type = htons (GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA); diff --git a/src/cadet/gnunet-service-cadet_local.c b/src/cadet/gnunet-service-cadet_local.c index 5eb17a55f..5fe160bdc 100644 --- a/src/cadet/gnunet-service-cadet_local.c +++ b/src/cadet/gnunet-service-cadet_local.c @@ -493,7 +493,7 @@ handle_data (void *cls, struct GNUNET_SERVER_Client *client, /* Sanity check for message size */ size = ntohs (message->size) - sizeof (struct GNUNET_CADET_LocalData); - if (size < sizeof (struct GNUNET_MessageHeader)) + if (sizeof (struct GNUNET_MessageHeader) > size) { GNUNET_break (0); GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); -- 2.25.1