From d8c53b12a818ff7cf82d06a1a69c395bdef85ee6 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 8 Jul 2016 17:20:23 +0000 Subject: -avoid calling memcpy() with NULL argument, even if len is 0 --- src/gnsrecord/gnsrecord_crypto.c | 4 ++-- src/gnsrecord/gnsrecord_serialization.c | 6 +++--- src/gnsrecord/plugin_gnsrecord_dns.c | 18 +++++++++--------- 3 files changed, 14 insertions(+), 14 deletions(-) (limited to 'src/gnsrecord') diff --git a/src/gnsrecord/gnsrecord_crypto.c b/src/gnsrecord/gnsrecord_crypto.c index fcd373580..0fab97f06 100644 --- a/src/gnsrecord/gnsrecord_crypto.c +++ b/src/gnsrecord/gnsrecord_crypto.c @@ -116,7 +116,7 @@ GNUNET_GNSRECORD_block_create (const struct GNUNET_CRYPTO_EcdsaPrivateKey *key, } /* serialize */ rd_count_nbo = htonl (rd_count); - memcpy (payload, &rd_count_nbo, sizeof (uint32_t)); + GNUNET_memcpy (payload, &rd_count_nbo, sizeof (uint32_t)); GNUNET_assert (payload_len == GNUNET_GNSRECORD_records_serialize (rd_count, rdc, payload_len, &payload[sizeof (uint32_t)])); @@ -212,7 +212,7 @@ GNUNET_GNSRECORD_block_decrypt (const struct GNUNET_GNSRECORD_Block *block, GNUNET_CRYPTO_symmetric_decrypt (&block[1], payload_len, &skey, &iv, payload)); - memcpy (&rd_count, + GNUNET_memcpy (&rd_count, payload, sizeof (uint32_t)); rd_count = ntohl (rd_count); diff --git a/src/gnsrecord/gnsrecord_serialization.c b/src/gnsrecord/gnsrecord_serialization.c index ccecf87aa..e2cabafd3 100644 --- a/src/gnsrecord/gnsrecord_serialization.c +++ b/src/gnsrecord/gnsrecord_serialization.c @@ -132,11 +132,11 @@ GNUNET_GNSRECORD_records_serialize (unsigned int rd_count, rec.flags = htonl (rd[i].flags); if (off + sizeof (rec) > dest_size) return -1; - memcpy (&dest[off], &rec, sizeof (rec)); + GNUNET_memcpy (&dest[off], &rec, sizeof (rec)); off += sizeof (rec); if (off + rd[i].data_size > dest_size) return -1; - memcpy (&dest[off], rd[i].data, rd[i].data_size); + GNUNET_memcpy (&dest[off], rd[i].data, rd[i].data_size); off += rd[i].data_size; } return off; @@ -167,7 +167,7 @@ GNUNET_GNSRECORD_records_deserialize (size_t len, { if (off + sizeof (rec) > len) return GNUNET_SYSERR; - memcpy (&rec, &src[off], sizeof (rec)); + GNUNET_memcpy (&rec, &src[off], sizeof (rec)); dest[i].expiration_time = GNUNET_ntohll (rec.expiration_time); dest[i].data_size = ntohl ((uint32_t) rec.data_size); dest[i].record_type = ntohl (rec.record_type); diff --git a/src/gnsrecord/plugin_gnsrecord_dns.c b/src/gnsrecord/plugin_gnsrecord_dns.c index aa64f0dd6..691936c16 100644 --- a/src/gnsrecord/plugin_gnsrecord_dns.c +++ b/src/gnsrecord/plugin_gnsrecord_dns.c @@ -361,7 +361,7 @@ dns_string_to_value (void *cls, return GNUNET_SYSERR; } *data = GNUNET_new (struct in_addr); - memcpy (*data, &value_a, sizeof (value_a)); + GNUNET_memcpy (*data, &value_a, sizeof (value_a)); *data_size = sizeof (value_a); return GNUNET_OK; case GNUNET_DNSPARSER_TYPE_NS: @@ -383,7 +383,7 @@ dns_string_to_value (void *cls, } *data_size = off; *data = GNUNET_malloc (off); - memcpy (*data, nsbuf, off); + GNUNET_memcpy (*data, nsbuf, off); return GNUNET_OK; } case GNUNET_DNSPARSER_TYPE_CNAME: @@ -405,7 +405,7 @@ dns_string_to_value (void *cls, } *data_size = off; *data = GNUNET_malloc (off); - memcpy (*data, cnamebuf, off); + GNUNET_memcpy (*data, cnamebuf, off); return GNUNET_OK; } case GNUNET_DNSPARSER_TYPE_CERT: @@ -491,7 +491,7 @@ dns_string_to_value (void *cls, } *data_size = off; *data = GNUNET_malloc (off); - memcpy (*data, certbuf, off); + GNUNET_memcpy (*data, certbuf, off); } GNUNET_free (cert_data); return GNUNET_OK; @@ -546,7 +546,7 @@ dns_string_to_value (void *cls, } *data_size = off; *data = GNUNET_malloc (off); - memcpy (*data, soabuf, off); + GNUNET_memcpy (*data, soabuf, off); return GNUNET_OK; } case GNUNET_DNSPARSER_TYPE_PTR: @@ -568,7 +568,7 @@ dns_string_to_value (void *cls, } *data_size = off; *data = GNUNET_malloc (off); - memcpy (*data, ptrbuf, off); + GNUNET_memcpy (*data, ptrbuf, off); return GNUNET_OK; } case GNUNET_DNSPARSER_TYPE_MX: @@ -606,7 +606,7 @@ dns_string_to_value (void *cls, } *data_size = off; *data = GNUNET_malloc (off); - memcpy (*data, mxbuf, off); + GNUNET_memcpy (*data, mxbuf, off); return GNUNET_OK; } case GNUNET_DNSPARSER_TYPE_SRV: @@ -649,7 +649,7 @@ dns_string_to_value (void *cls, } *data_size = off; *data = GNUNET_malloc (off); - memcpy (*data, srvbuf, off); + GNUNET_memcpy (*data, srvbuf, off); return GNUNET_OK; } case GNUNET_DNSPARSER_TYPE_TXT: @@ -666,7 +666,7 @@ dns_string_to_value (void *cls, } *data = GNUNET_new (struct in6_addr); *data_size = sizeof (struct in6_addr); - memcpy (*data, &value_aaaa, sizeof (value_aaaa)); + GNUNET_memcpy (*data, &value_aaaa, sizeof (value_aaaa)); return GNUNET_OK; case GNUNET_DNSPARSER_TYPE_TLSA: { -- cgit v1.2.3