aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-transport_validation.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-07-08 17:20:23 +0000
committerChristian Grothoff <christian@grothoff.org>2016-07-08 17:20:23 +0000
commitd8c53b12a818ff7cf82d06a1a69c395bdef85ee6 (patch)
tree0ebb0db416c157fcfde51a941185819dd12d51fd /src/transport/gnunet-service-transport_validation.c
parent5184c17d32a39c928c2a0fec3ee1ad098bbaa562 (diff)
downloadgnunet-d8c53b12a818ff7cf82d06a1a69c395bdef85ee6.tar.gz
gnunet-d8c53b12a818ff7cf82d06a1a69c395bdef85ee6.zip
-avoid calling memcpy() with NULL argument, even if len is 0
Diffstat (limited to 'src/transport/gnunet-service-transport_validation.c')
-rw-r--r--src/transport/gnunet-service-transport_validation.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/transport/gnunet-service-transport_validation.c b/src/transport/gnunet-service-transport_validation.c
index 624e3b93c..494f88f11 100644
--- a/src/transport/gnunet-service-transport_validation.c
+++ b/src/transport/gnunet-service-transport_validation.c
@@ -612,16 +612,16 @@ transmit_ping_if_allowed (void *cls,
612 { 612 {
613 char message_buf[tsize] GNUNET_ALIGN; 613 char message_buf[tsize] GNUNET_ALIGN;
614 614
615 memcpy (message_buf, 615 GNUNET_memcpy (message_buf,
616 hello, 616 hello,
617 hsize); 617 hsize);
618 memcpy (&message_buf[hsize], 618 GNUNET_memcpy (&message_buf[hsize],
619 &ping, 619 &ping,
620 sizeof (struct TransportPingMessage)); 620 sizeof (struct TransportPingMessage));
621 memcpy (&message_buf[sizeof (struct TransportPingMessage) + hsize], 621 GNUNET_memcpy (&message_buf[sizeof (struct TransportPingMessage) + hsize],
622 ve->address->transport_name, 622 ve->address->transport_name,
623 slen); 623 slen);
624 memcpy (&message_buf[sizeof (struct TransportPingMessage) + slen + hsize], 624 GNUNET_memcpy (&message_buf[sizeof (struct TransportPingMessage) + slen + hsize],
625 ve->address->address, 625 ve->address->address,
626 ve->address->address_length); 626 ve->address->address_length);
627 papi = GST_plugins_find (ve->address->transport_name); 627 papi = GST_plugins_find (ve->address->transport_name);
@@ -1235,13 +1235,13 @@ GST_validation_handle_ping (const struct GNUNET_PeerIdentity *sender,
1235 sizeof (uint32_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO) + 1235 sizeof (uint32_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO) +
1236 len_address + len_plugin); 1236 len_address + len_plugin);
1237 pong->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN); 1237 pong->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN);
1238 memcpy (&pong->challenge, &ping->challenge, sizeof (ping->challenge)); 1238 GNUNET_memcpy (&pong->challenge, &ping->challenge, sizeof (ping->challenge));
1239 pong->addrlen = htonl (len_address + len_plugin); 1239 pong->addrlen = htonl (len_address + len_plugin);
1240 memcpy (&pong[1], addr, len_plugin); /* Copy transport plugin */ 1240 GNUNET_memcpy (&pong[1], addr, len_plugin); /* Copy transport plugin */
1241 if (len_address > 0) 1241 if (len_address > 0)
1242 { 1242 {
1243 GNUNET_assert (NULL != addrend); 1243 GNUNET_assert (NULL != addrend);
1244 memcpy (&((char *) &pong[1])[len_plugin], addrend, len_address); 1244 GNUNET_memcpy (&((char *) &pong[1])[len_plugin], addrend, len_address);
1245 } 1245 }
1246 if (GNUNET_TIME_absolute_get_remaining (*sig_cache_exp).rel_value_us < 1246 if (GNUNET_TIME_absolute_get_remaining (*sig_cache_exp).rel_value_us <
1247 PONG_SIGNATURE_LIFETIME.rel_value_us / 4) 1247 PONG_SIGNATURE_LIFETIME.rel_value_us / 4)