From: Christian Grothoff Date: Fri, 15 Jul 2011 09:25:42 +0000 (+0000) Subject: fix X-Git-Tag: initial-import-from-subversion-38251~17847 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5cba9a1df5ff320c75d7833439fc12f8304f2f98;p=oweals%2Fgnunet.git fix --- diff --git a/src/hostlist/test_gnunet_daemon_hostlist_learning.c b/src/hostlist/test_gnunet_daemon_hostlist_learning.c index 6124ba33f..3134f22ae 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist_learning.c +++ b/src/hostlist/test_gnunet_daemon_hostlist_learning.c @@ -333,6 +333,7 @@ ad_arrive_handler (void *cls, char *expected_uri; unsigned long long port; const struct GNUNET_MessageHeader * incoming; + const char *end; if (-1 == GNUNET_CONFIGURATION_get_value_number (adv_peer.cfg, "HOSTLIST", @@ -354,7 +355,13 @@ ad_arrive_handler (void *cls, hostname != NULL ? hostname : "localhost", (unsigned int) port); incoming = (const struct GNUNET_MessageHeader *) message; - current_adv_uri = strdup ((char*) &incoming[1]); + end = (const char*) &incoming[1]; + if ('\0' != end[ntohs(message->size) - sizeof (struct GNUNET_MessageHeader) - 1]) + { + GNUNET_break (0); + return GNUNET_SYSERR; + } + current_adv_uri = GNUNET_strdup (end); if ( 0 == strcmp( expected_uri, current_adv_uri ) ) { GNUNET_log (GNUNET_ERROR_TYPE_INFO,