diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-07-08 17:20:23 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-07-08 17:20:23 +0000 |
commit | d8c53b12a818ff7cf82d06a1a69c395bdef85ee6 (patch) | |
tree | 0ebb0db416c157fcfde51a941185819dd12d51fd /src/transport/gnunet-service-transport_validation.c | |
parent | 5184c17d32a39c928c2a0fec3ee1ad098bbaa562 (diff) | |
download | gnunet-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.c | 14 |
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) |