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/dns | |
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/dns')
-rw-r--r-- | src/dns/dns_api.c | 2 | ||||
-rw-r--r-- | src/dns/dnsparser.c | 38 | ||||
-rw-r--r-- | src/dns/dnsstub.c | 4 | ||||
-rw-r--r-- | src/dns/gnunet-service-dns.c | 18 |
4 files changed, 31 insertions, 31 deletions
diff --git a/src/dns/dns_api.c b/src/dns/dns_api.c index 1d212e5d1..08d5df4a1 100644 --- a/src/dns/dns_api.c +++ b/src/dns/dns_api.c | |||
@@ -328,7 +328,7 @@ GNUNET_DNS_request_answer (struct GNUNET_DNS_RequestHandle *rh, | |||
328 | GNUNET_MESSAGE_TYPE_DNS_CLIENT_RESPONSE); | 328 | GNUNET_MESSAGE_TYPE_DNS_CLIENT_RESPONSE); |
329 | resp->drop_flag = htonl (2); | 329 | resp->drop_flag = htonl (2); |
330 | resp->request_id = rh->request_id; | 330 | resp->request_id = rh->request_id; |
331 | memcpy (&resp[1], | 331 | GNUNET_memcpy (&resp[1], |
332 | reply, | 332 | reply, |
333 | reply_length); | 333 | reply_length); |
334 | GNUNET_MQ_send (rh->dh->mq, | 334 | GNUNET_MQ_send (rh->dh->mq, |
diff --git a/src/dns/dnsparser.c b/src/dns/dnsparser.c index 5041d29a8..36b4c36f1 100644 --- a/src/dns/dnsparser.c +++ b/src/dns/dnsparser.c | |||
@@ -385,7 +385,7 @@ GNUNET_DNSPARSER_parse_query (const char *udp_payload, | |||
385 | GNUNET_break_op (0); | 385 | GNUNET_break_op (0); |
386 | return GNUNET_SYSERR; | 386 | return GNUNET_SYSERR; |
387 | } | 387 | } |
388 | memcpy (&ql, &udp_payload[*off], sizeof (ql)); | 388 | GNUNET_memcpy (&ql, &udp_payload[*off], sizeof (ql)); |
389 | *off += sizeof (ql); | 389 | *off += sizeof (ql); |
390 | q->type = ntohs (ql.type); | 390 | q->type = ntohs (ql.type); |
391 | q->dns_traffic_class = ntohs (ql.dns_traffic_class); | 391 | q->dns_traffic_class = ntohs (ql.dns_traffic_class); |
@@ -428,7 +428,7 @@ GNUNET_DNSPARSER_parse_soa (const char *udp_payload, | |||
428 | *off = old_off; | 428 | *off = old_off; |
429 | return NULL; | 429 | return NULL; |
430 | } | 430 | } |
431 | memcpy (&soa_bin, | 431 | GNUNET_memcpy (&soa_bin, |
432 | &udp_payload[*off], | 432 | &udp_payload[*off], |
433 | sizeof (struct GNUNET_TUN_DnsSoaRecord)); | 433 | sizeof (struct GNUNET_TUN_DnsSoaRecord)); |
434 | soa->serial = ntohl (soa_bin.serial); | 434 | soa->serial = ntohl (soa_bin.serial); |
@@ -465,7 +465,7 @@ GNUNET_DNSPARSER_parse_mx (const char *udp_payload, | |||
465 | GNUNET_break_op (0); | 465 | GNUNET_break_op (0); |
466 | return NULL; | 466 | return NULL; |
467 | } | 467 | } |
468 | memcpy (&mxpref, &udp_payload[*off], sizeof (uint16_t)); | 468 | GNUNET_memcpy (&mxpref, &udp_payload[*off], sizeof (uint16_t)); |
469 | (*off) += sizeof (uint16_t); | 469 | (*off) += sizeof (uint16_t); |
470 | mx = GNUNET_new (struct GNUNET_DNSPARSER_MxRecord); | 470 | mx = GNUNET_new (struct GNUNET_DNSPARSER_MxRecord); |
471 | mx->preference = ntohs (mxpref); | 471 | mx->preference = ntohs (mxpref); |
@@ -504,7 +504,7 @@ GNUNET_DNSPARSER_parse_srv (const char *udp_payload, | |||
504 | old_off = *off; | 504 | old_off = *off; |
505 | if (*off + sizeof (struct GNUNET_TUN_DnsSrvRecord) > udp_payload_length) | 505 | if (*off + sizeof (struct GNUNET_TUN_DnsSrvRecord) > udp_payload_length) |
506 | return NULL; | 506 | return NULL; |
507 | memcpy (&srv_bin, | 507 | GNUNET_memcpy (&srv_bin, |
508 | &udp_payload[*off], | 508 | &udp_payload[*off], |
509 | sizeof (struct GNUNET_TUN_DnsSrvRecord)); | 509 | sizeof (struct GNUNET_TUN_DnsSrvRecord)); |
510 | (*off) += sizeof (struct GNUNET_TUN_DnsSrvRecord); | 510 | (*off) += sizeof (struct GNUNET_TUN_DnsSrvRecord); |
@@ -547,7 +547,7 @@ GNUNET_DNSPARSER_parse_cert (const char *udp_payload, | |||
547 | GNUNET_break_op (0); | 547 | GNUNET_break_op (0); |
548 | return NULL; | 548 | return NULL; |
549 | } | 549 | } |
550 | memcpy (&dcert, &udp_payload[*off], sizeof (struct GNUNET_TUN_DnsCertRecord)); | 550 | GNUNET_memcpy (&dcert, &udp_payload[*off], sizeof (struct GNUNET_TUN_DnsCertRecord)); |
551 | (*off) += sizeof (struct GNUNET_TUN_DnsCertRecord); | 551 | (*off) += sizeof (struct GNUNET_TUN_DnsCertRecord); |
552 | cert = GNUNET_new (struct GNUNET_DNSPARSER_CertRecord); | 552 | cert = GNUNET_new (struct GNUNET_DNSPARSER_CertRecord); |
553 | cert->cert_type = ntohs (dcert.cert_type); | 553 | cert->cert_type = ntohs (dcert.cert_type); |
@@ -555,7 +555,7 @@ GNUNET_DNSPARSER_parse_cert (const char *udp_payload, | |||
555 | cert->algorithm = dcert.algorithm; | 555 | cert->algorithm = dcert.algorithm; |
556 | cert->certificate_size = udp_payload_length - (*off); | 556 | cert->certificate_size = udp_payload_length - (*off); |
557 | cert->certificate_data = GNUNET_malloc (cert->certificate_size); | 557 | cert->certificate_data = GNUNET_malloc (cert->certificate_size); |
558 | memcpy (cert->certificate_data, | 558 | GNUNET_memcpy (cert->certificate_data, |
559 | &udp_payload[*off], | 559 | &udp_payload[*off], |
560 | cert->certificate_size); | 560 | cert->certificate_size); |
561 | (*off) += cert->certificate_size; | 561 | (*off) += cert->certificate_size; |
@@ -598,7 +598,7 @@ GNUNET_DNSPARSER_parse_record (const char *udp_payload, | |||
598 | GNUNET_break_op (0); | 598 | GNUNET_break_op (0); |
599 | return GNUNET_SYSERR; | 599 | return GNUNET_SYSERR; |
600 | } | 600 | } |
601 | memcpy (&rl, &udp_payload[*off], sizeof (rl)); | 601 | GNUNET_memcpy (&rl, &udp_payload[*off], sizeof (rl)); |
602 | (*off) += sizeof (rl); | 602 | (*off) += sizeof (rl); |
603 | r->type = ntohs (rl.type); | 603 | r->type = ntohs (rl.type); |
604 | r->dns_traffic_class = ntohs (rl.dns_traffic_class); | 604 | r->dns_traffic_class = ntohs (rl.dns_traffic_class); |
@@ -659,7 +659,7 @@ GNUNET_DNSPARSER_parse_record (const char *udp_payload, | |||
659 | default: | 659 | default: |
660 | r->data.raw.data = GNUNET_malloc (data_len); | 660 | r->data.raw.data = GNUNET_malloc (data_len); |
661 | r->data.raw.data_len = data_len; | 661 | r->data.raw.data_len = data_len; |
662 | memcpy (r->data.raw.data, &udp_payload[*off], data_len); | 662 | GNUNET_memcpy (r->data.raw.data, &udp_payload[*off], data_len); |
663 | break; | 663 | break; |
664 | } | 664 | } |
665 | (*off) += data_len; | 665 | (*off) += data_len; |
@@ -838,7 +838,7 @@ GNUNET_DNSPARSER_builder_add_name (char *dst, | |||
838 | goto fail; /* segment too long or empty */ | 838 | goto fail; /* segment too long or empty */ |
839 | } | 839 | } |
840 | dst[pos++] = (char) (uint8_t) len; | 840 | dst[pos++] = (char) (uint8_t) len; |
841 | memcpy (&dst[pos], idna_name, len); | 841 | GNUNET_memcpy (&dst[pos], idna_name, len); |
842 | pos += len; | 842 | pos += len; |
843 | idna_name += len + 1; /* also skip dot */ | 843 | idna_name += len + 1; /* also skip dot */ |
844 | } | 844 | } |
@@ -887,7 +887,7 @@ GNUNET_DNSPARSER_builder_add_query (char *dst, | |||
887 | return ret; | 887 | return ret; |
888 | ql.type = htons (query->type); | 888 | ql.type = htons (query->type); |
889 | ql.dns_traffic_class = htons (query->dns_traffic_class); | 889 | ql.dns_traffic_class = htons (query->dns_traffic_class); |
890 | memcpy (&dst[*off], &ql, sizeof (ql)); | 890 | GNUNET_memcpy (&dst[*off], &ql, sizeof (ql)); |
891 | (*off) += sizeof (ql); | 891 | (*off) += sizeof (ql); |
892 | return GNUNET_OK; | 892 | return GNUNET_OK; |
893 | } | 893 | } |
@@ -916,7 +916,7 @@ GNUNET_DNSPARSER_builder_add_mx (char *dst, | |||
916 | if (*off + sizeof (uint16_t) > dst_len) | 916 | if (*off + sizeof (uint16_t) > dst_len) |
917 | return GNUNET_NO; | 917 | return GNUNET_NO; |
918 | mxpref = htons (mx->preference); | 918 | mxpref = htons (mx->preference); |
919 | memcpy (&dst[*off], &mxpref, sizeof (mxpref)); | 919 | GNUNET_memcpy (&dst[*off], &mxpref, sizeof (mxpref)); |
920 | (*off) += sizeof (mxpref); | 920 | (*off) += sizeof (mxpref); |
921 | return GNUNET_DNSPARSER_builder_add_name (dst, dst_len, off, mx->mxhost); | 921 | return GNUNET_DNSPARSER_builder_add_name (dst, dst_len, off, mx->mxhost); |
922 | } | 922 | } |
@@ -954,9 +954,9 @@ GNUNET_DNSPARSER_builder_add_cert (char *dst, | |||
954 | dcert.cert_type = htons ((uint16_t) cert->cert_type); | 954 | dcert.cert_type = htons ((uint16_t) cert->cert_type); |
955 | dcert.cert_tag = htons ((uint16_t) cert->cert_tag); | 955 | dcert.cert_tag = htons ((uint16_t) cert->cert_tag); |
956 | dcert.algorithm = (uint8_t) cert->algorithm; | 956 | dcert.algorithm = (uint8_t) cert->algorithm; |
957 | memcpy (&dst[*off], &dcert, sizeof (dcert)); | 957 | GNUNET_memcpy (&dst[*off], &dcert, sizeof (dcert)); |
958 | (*off) += sizeof (dcert); | 958 | (*off) += sizeof (dcert); |
959 | memcpy (&dst[*off], cert->certificate_data, cert->certificate_size); | 959 | GNUNET_memcpy (&dst[*off], cert->certificate_data, cert->certificate_size); |
960 | (*off) += cert->certificate_size; | 960 | (*off) += cert->certificate_size; |
961 | return GNUNET_OK; | 961 | return GNUNET_OK; |
962 | } | 962 | } |
@@ -999,7 +999,7 @@ GNUNET_DNSPARSER_builder_add_soa (char *dst, | |||
999 | sd.retry = htonl (soa->retry); | 999 | sd.retry = htonl (soa->retry); |
1000 | sd.expire = htonl (soa->expire); | 1000 | sd.expire = htonl (soa->expire); |
1001 | sd.minimum = htonl (soa->minimum_ttl); | 1001 | sd.minimum = htonl (soa->minimum_ttl); |
1002 | memcpy (&dst[*off], &sd, sizeof (sd)); | 1002 | GNUNET_memcpy (&dst[*off], &sd, sizeof (sd)); |
1003 | (*off) += sizeof (sd); | 1003 | (*off) += sizeof (sd); |
1004 | return GNUNET_OK; | 1004 | return GNUNET_OK; |
1005 | } | 1005 | } |
@@ -1031,7 +1031,7 @@ GNUNET_DNSPARSER_builder_add_srv (char *dst, | |||
1031 | sd.prio = htons (srv->priority); | 1031 | sd.prio = htons (srv->priority); |
1032 | sd.weight = htons (srv->weight); | 1032 | sd.weight = htons (srv->weight); |
1033 | sd.port = htons (srv->port); | 1033 | sd.port = htons (srv->port); |
1034 | memcpy (&dst[*off], &sd, sizeof (sd)); | 1034 | GNUNET_memcpy (&dst[*off], &sd, sizeof (sd)); |
1035 | (*off) += sizeof (sd); | 1035 | (*off) += sizeof (sd); |
1036 | if (GNUNET_OK != (ret = GNUNET_DNSPARSER_builder_add_name (dst, | 1036 | if (GNUNET_OK != (ret = GNUNET_DNSPARSER_builder_add_name (dst, |
1037 | dst_len, | 1037 | dst_len, |
@@ -1100,7 +1100,7 @@ add_record (char *dst, | |||
1100 | ret = GNUNET_NO; | 1100 | ret = GNUNET_NO; |
1101 | break; | 1101 | break; |
1102 | } | 1102 | } |
1103 | memcpy (&dst[pos], record->data.raw.data, record->data.raw.data_len); | 1103 | GNUNET_memcpy (&dst[pos], record->data.raw.data, record->data.raw.data_len); |
1104 | pos += record->data.raw.data_len; | 1104 | pos += record->data.raw.data_len; |
1105 | ret = GNUNET_OK; | 1105 | ret = GNUNET_OK; |
1106 | break; | 1106 | break; |
@@ -1121,7 +1121,7 @@ add_record (char *dst, | |||
1121 | rl.dns_traffic_class = htons (record->dns_traffic_class); | 1121 | rl.dns_traffic_class = htons (record->dns_traffic_class); |
1122 | rl.ttl = htonl (GNUNET_TIME_absolute_get_remaining (record->expiration_time).rel_value_us / 1000LL / 1000LL); /* in seconds */ | 1122 | rl.ttl = htonl (GNUNET_TIME_absolute_get_remaining (record->expiration_time).rel_value_us / 1000LL / 1000LL); /* in seconds */ |
1123 | rl.data_len = htons ((uint16_t) (pos - (*off + sizeof (struct GNUNET_TUN_DnsRecordLine)))); | 1123 | rl.data_len = htons ((uint16_t) (pos - (*off + sizeof (struct GNUNET_TUN_DnsRecordLine)))); |
1124 | memcpy (&dst[*off], &rl, sizeof (struct GNUNET_TUN_DnsRecordLine)); | 1124 | GNUNET_memcpy (&dst[*off], &rl, sizeof (struct GNUNET_TUN_DnsRecordLine)); |
1125 | *off = pos; | 1125 | *off = pos; |
1126 | return GNUNET_OK; | 1126 | return GNUNET_OK; |
1127 | } | 1127 | } |
@@ -1219,11 +1219,11 @@ GNUNET_DNSPARSER_pack (const struct GNUNET_DNSPARSER_Packet *p, | |||
1219 | 1219 | ||
1220 | if (GNUNET_YES == trc) | 1220 | if (GNUNET_YES == trc) |
1221 | dns.flags.message_truncated = 1; | 1221 | dns.flags.message_truncated = 1; |
1222 | memcpy (tmp, &dns, sizeof (struct GNUNET_TUN_DnsHeader)); | 1222 | GNUNET_memcpy (tmp, &dns, sizeof (struct GNUNET_TUN_DnsHeader)); |
1223 | 1223 | ||
1224 | *buf = GNUNET_malloc (off); | 1224 | *buf = GNUNET_malloc (off); |
1225 | *buf_length = off; | 1225 | *buf_length = off; |
1226 | memcpy (*buf, tmp, off); | 1226 | GNUNET_memcpy (*buf, tmp, off); |
1227 | if (GNUNET_YES == trc) | 1227 | if (GNUNET_YES == trc) |
1228 | return GNUNET_NO; | 1228 | return GNUNET_NO; |
1229 | return GNUNET_OK; | 1229 | return GNUNET_OK; |
diff --git a/src/dns/dnsstub.c b/src/dns/dnsstub.c index 50a3320fb..b3cd2817e 100644 --- a/src/dns/dnsstub.c +++ b/src/dns/dnsstub.c | |||
@@ -277,7 +277,7 @@ GNUNET_DNSSTUB_resolve (struct GNUNET_DNSSTUB_Context *ctx, | |||
277 | else | 277 | else |
278 | ret = rs->dnsout6; | 278 | ret = rs->dnsout6; |
279 | GNUNET_assert (NULL != ret); | 279 | GNUNET_assert (NULL != ret); |
280 | memcpy (&rs->addr, | 280 | GNUNET_memcpy (&rs->addr, |
281 | sa, | 281 | sa, |
282 | sa_len); | 282 | sa_len); |
283 | rs->addrlen = sa_len; | 283 | rs->addrlen = sa_len; |
@@ -367,7 +367,7 @@ GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx, | |||
367 | ctx->dns_exit); | 367 | ctx->dns_exit); |
368 | return NULL; | 368 | return NULL; |
369 | } | 369 | } |
370 | memcpy (&rs->addr, | 370 | GNUNET_memcpy (&rs->addr, |
371 | sa, | 371 | sa, |
372 | salen); | 372 | salen); |
373 | rs->addrlen = salen; | 373 | rs->addrlen = salen; |
diff --git a/src/dns/gnunet-service-dns.c b/src/dns/gnunet-service-dns.c index b580f433f..50aa730e7 100644 --- a/src/dns/gnunet-service-dns.c +++ b/src/dns/gnunet-service-dns.c | |||
@@ -378,7 +378,7 @@ request_done (struct RequestRecord *rr) | |||
378 | tun.proto = htons (ETH_P_IPV4); | 378 | tun.proto = htons (ETH_P_IPV4); |
379 | else | 379 | else |
380 | tun.proto = htons (ETH_P_IPV6); | 380 | tun.proto = htons (ETH_P_IPV6); |
381 | memcpy (&buf[off], &tun, sizeof (struct GNUNET_TUN_Layer2PacketHeader)); | 381 | GNUNET_memcpy (&buf[off], &tun, sizeof (struct GNUNET_TUN_Layer2PacketHeader)); |
382 | off += sizeof (struct GNUNET_TUN_Layer2PacketHeader); | 382 | off += sizeof (struct GNUNET_TUN_Layer2PacketHeader); |
383 | } | 383 | } |
384 | 384 | ||
@@ -397,7 +397,7 @@ request_done (struct RequestRecord *rr) | |||
397 | reply_len - off - sizeof (struct GNUNET_TUN_IPv4Header), | 397 | reply_len - off - sizeof (struct GNUNET_TUN_IPv4Header), |
398 | &dst->sin_addr, | 398 | &dst->sin_addr, |
399 | &src->sin_addr); | 399 | &src->sin_addr); |
400 | memcpy (&buf[off], &ip4, sizeof (ip4)); | 400 | GNUNET_memcpy (&buf[off], &ip4, sizeof (ip4)); |
401 | off += sizeof (ip4); | 401 | off += sizeof (ip4); |
402 | } | 402 | } |
403 | break; | 403 | break; |
@@ -413,7 +413,7 @@ request_done (struct RequestRecord *rr) | |||
413 | reply_len - sizeof (struct GNUNET_TUN_IPv6Header), | 413 | reply_len - sizeof (struct GNUNET_TUN_IPv6Header), |
414 | &dst->sin6_addr, | 414 | &dst->sin6_addr, |
415 | &src->sin6_addr); | 415 | &src->sin6_addr); |
416 | memcpy (&buf[off], &ip6, sizeof (ip6)); | 416 | GNUNET_memcpy (&buf[off], &ip6, sizeof (ip6)); |
417 | off += sizeof (ip6); | 417 | off += sizeof (ip6); |
418 | } | 418 | } |
419 | break; | 419 | break; |
@@ -438,13 +438,13 @@ request_done (struct RequestRecord *rr) | |||
438 | &udp, | 438 | &udp, |
439 | rr->payload, | 439 | rr->payload, |
440 | rr->payload_length); | 440 | rr->payload_length); |
441 | memcpy (&buf[off], &udp, sizeof (udp)); | 441 | GNUNET_memcpy (&buf[off], &udp, sizeof (udp)); |
442 | off += sizeof (udp); | 442 | off += sizeof (udp); |
443 | } | 443 | } |
444 | 444 | ||
445 | /* now DNS payload */ | 445 | /* now DNS payload */ |
446 | { | 446 | { |
447 | memcpy (&buf[off], rr->payload, rr->payload_length); | 447 | GNUNET_memcpy (&buf[off], rr->payload, rr->payload_length); |
448 | off += rr->payload_length; | 448 | off += rr->payload_length; |
449 | } | 449 | } |
450 | /* final checks & sending */ | 450 | /* final checks & sending */ |
@@ -490,7 +490,7 @@ send_request_to_client (struct RequestRecord *rr, | |||
490 | req->header.size = htons (sizeof (buf)); | 490 | req->header.size = htons (sizeof (buf)); |
491 | req->reserved = htonl (0); | 491 | req->reserved = htonl (0); |
492 | req->request_id = rr->request_id; | 492 | req->request_id = rr->request_id; |
493 | memcpy (&req[1], rr->payload, rr->payload_length); | 493 | GNUNET_memcpy (&req[1], rr->payload, rr->payload_length); |
494 | GNUNET_SERVER_notification_context_unicast (nc, | 494 | GNUNET_SERVER_notification_context_unicast (nc, |
495 | client, | 495 | client, |
496 | &req->header, | 496 | &req->header, |
@@ -723,7 +723,7 @@ process_dns_result (void *cls, | |||
723 | (unsigned long long) rr->request_id); | 723 | (unsigned long long) rr->request_id); |
724 | GNUNET_free_non_null (rr->payload); | 724 | GNUNET_free_non_null (rr->payload); |
725 | rr->payload = GNUNET_malloc (r); | 725 | rr->payload = GNUNET_malloc (r); |
726 | memcpy (rr->payload, dns, r); | 726 | GNUNET_memcpy (rr->payload, dns, r); |
727 | rr->payload_length = r; | 727 | rr->payload_length = r; |
728 | next_phase (rr); | 728 | next_phase (rr); |
729 | } | 729 | } |
@@ -825,7 +825,7 @@ handle_client_response (void *cls GNUNET_UNUSED, | |||
825 | "Changing DNS reply according to client specifications\n"); | 825 | "Changing DNS reply according to client specifications\n"); |
826 | rr->payload = GNUNET_malloc (msize); | 826 | rr->payload = GNUNET_malloc (msize); |
827 | rr->payload_length = msize; | 827 | rr->payload_length = msize; |
828 | memcpy (rr->payload, &resp[1], msize); | 828 | GNUNET_memcpy (rr->payload, &resp[1], msize); |
829 | if (rr->phase == RP_QUERY) | 829 | if (rr->phase == RP_QUERY) |
830 | { | 830 | { |
831 | /* clear wait list, we're moving to MODIFY phase next */ | 831 | /* clear wait list, we're moving to MODIFY phase next */ |
@@ -1000,7 +1000,7 @@ process_helper_messages (void *cls GNUNET_UNUSED, void *client, | |||
1000 | } | 1000 | } |
1001 | rr->payload = GNUNET_malloc (msize); | 1001 | rr->payload = GNUNET_malloc (msize); |
1002 | rr->payload_length = msize; | 1002 | rr->payload_length = msize; |
1003 | memcpy (rr->payload, dns, msize); | 1003 | GNUNET_memcpy (rr->payload, dns, msize); |
1004 | rr->request_id = dns->id | (request_id_gen << 16); | 1004 | rr->request_id = dns->id | (request_id_gen << 16); |
1005 | request_id_gen++; | 1005 | request_id_gen++; |
1006 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 1006 | LOG (GNUNET_ERROR_TYPE_DEBUG, |