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/set | |
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/set')
-rw-r--r-- | src/set/gnunet-service-set.c | 4 | ||||
-rw-r--r-- | src/set/gnunet-service-set_intersection.c | 8 | ||||
-rw-r--r-- | src/set/gnunet-service-set_union.c | 10 | ||||
-rw-r--r-- | src/set/gnunet-service-set_union_strata_estimator.c | 2 | ||||
-rw-r--r-- | src/set/gnunet-set-profiler.c | 2 | ||||
-rw-r--r-- | src/set/ibf.c | 12 | ||||
-rw-r--r-- | src/set/set_api.c | 14 |
7 files changed, 26 insertions, 26 deletions
diff --git a/src/set/gnunet-service-set.c b/src/set/gnunet-service-set.c index 2aad60309..a5baf8cfd 100644 --- a/src/set/gnunet-service-set.c +++ b/src/set/gnunet-service-set.c | |||
@@ -842,7 +842,7 @@ execute_add (struct Set *set, | |||
842 | { | 842 | { |
843 | ee = GNUNET_malloc (el.size + sizeof *ee); | 843 | ee = GNUNET_malloc (el.size + sizeof *ee); |
844 | ee->element.size = el.size; | 844 | ee->element.size = el.size; |
845 | memcpy (&ee[1], | 845 | GNUNET_memcpy (&ee[1], |
846 | el.data, | 846 | el.data, |
847 | el.size); | 847 | el.size); |
848 | ee->element.data = &ee[1]; | 848 | ee->element.data = &ee[1]; |
@@ -1012,7 +1012,7 @@ again: | |||
1012 | ev = GNUNET_MQ_msg_extra (msg, | 1012 | ev = GNUNET_MQ_msg_extra (msg, |
1013 | ee->element.size, | 1013 | ee->element.size, |
1014 | GNUNET_MESSAGE_TYPE_SET_ITER_ELEMENT); | 1014 | GNUNET_MESSAGE_TYPE_SET_ITER_ELEMENT); |
1015 | memcpy (&msg[1], | 1015 | GNUNET_memcpy (&msg[1], |
1016 | ee->element.data, | 1016 | ee->element.data, |
1017 | ee->element.size); | 1017 | ee->element.size); |
1018 | msg->element_type = htons (ee->element.element_type); | 1018 | msg->element_type = htons (ee->element.element_type); |
diff --git a/src/set/gnunet-service-set_intersection.c b/src/set/gnunet-service-set_intersection.c index e03b0cb82..e9d97f6a8 100644 --- a/src/set/gnunet-service-set_intersection.c +++ b/src/set/gnunet-service-set_intersection.c | |||
@@ -209,7 +209,7 @@ send_client_removed_element (struct Operation *op, | |||
209 | rm->result_status = htons (GNUNET_SET_STATUS_OK); | 209 | rm->result_status = htons (GNUNET_SET_STATUS_OK); |
210 | rm->request_id = htonl (op->spec->client_request_id); | 210 | rm->request_id = htonl (op->spec->client_request_id); |
211 | rm->element_type = element->element_type; | 211 | rm->element_type = element->element_type; |
212 | memcpy (&rm[1], | 212 | GNUNET_memcpy (&rm[1], |
213 | element->data, | 213 | element->data, |
214 | element->size); | 214 | element->size); |
215 | GNUNET_MQ_send (op->spec->set->client_mq, | 215 | GNUNET_MQ_send (op->spec->set->client_mq, |
@@ -483,7 +483,7 @@ send_bloomfilter (struct Operation *op) | |||
483 | ev = GNUNET_MQ_msg_extra (msg, | 483 | ev = GNUNET_MQ_msg_extra (msg, |
484 | chunk_size, | 484 | chunk_size, |
485 | GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF); | 485 | GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF); |
486 | memcpy (&msg[1], | 486 | GNUNET_memcpy (&msg[1], |
487 | &bf_data[offset], | 487 | &bf_data[offset], |
488 | chunk_size); | 488 | chunk_size); |
489 | offset += chunk_size; | 489 | offset += chunk_size; |
@@ -567,7 +567,7 @@ send_remaining_elements (void *cls) | |||
567 | rm->result_status = htons (GNUNET_SET_STATUS_OK); | 567 | rm->result_status = htons (GNUNET_SET_STATUS_OK); |
568 | rm->request_id = htonl (op->spec->client_request_id); | 568 | rm->request_id = htonl (op->spec->client_request_id); |
569 | rm->element_type = element->element_type; | 569 | rm->element_type = element->element_type; |
570 | memcpy (&rm[1], | 570 | GNUNET_memcpy (&rm[1], |
571 | element->data, | 571 | element->data, |
572 | element->size); | 572 | element->size); |
573 | GNUNET_MQ_notify_sent (ev, | 573 | GNUNET_MQ_notify_sent (ev, |
@@ -744,7 +744,7 @@ handle_p2p_bf (void *cls, | |||
744 | return; | 744 | return; |
745 | } | 745 | } |
746 | } | 746 | } |
747 | memcpy (&op->state->bf_data[op->state->bf_data_offset], | 747 | GNUNET_memcpy (&op->state->bf_data[op->state->bf_data_offset], |
748 | (const char*) &msg[1], | 748 | (const char*) &msg[1], |
749 | chunk_size); | 749 | chunk_size); |
750 | op->state->bf_data_offset += chunk_size; | 750 | op->state->bf_data_offset += chunk_size; |
diff --git a/src/set/gnunet-service-set_union.c b/src/set/gnunet-service-set_union.c index c7f30a741..669e34c8f 100644 --- a/src/set/gnunet-service-set_union.c +++ b/src/set/gnunet-service-set_union.c | |||
@@ -663,7 +663,7 @@ send_strata_estimator (struct Operation *op) | |||
663 | ev = GNUNET_MQ_msg_header_extra (strata_msg, | 663 | ev = GNUNET_MQ_msg_header_extra (strata_msg, |
664 | len, | 664 | len, |
665 | type); | 665 | type); |
666 | memcpy (&strata_msg[1], | 666 | GNUNET_memcpy (&strata_msg[1], |
667 | buf, | 667 | buf, |
668 | len); | 668 | len); |
669 | GNUNET_free (buf); | 669 | GNUNET_free (buf); |
@@ -973,7 +973,7 @@ decode_and_send (struct Operation *op) | |||
973 | sizeof (struct IBF_Key), | 973 | sizeof (struct IBF_Key), |
974 | GNUNET_MESSAGE_TYPE_SET_UNION_P2P_INQUIRY); | 974 | GNUNET_MESSAGE_TYPE_SET_UNION_P2P_INQUIRY); |
975 | msg->salt = htonl (op->state->salt_receive); | 975 | msg->salt = htonl (op->state->salt_receive); |
976 | memcpy (&msg[1], | 976 | GNUNET_memcpy (&msg[1], |
977 | &key, | 977 | &key, |
978 | sizeof (struct IBF_Key)); | 978 | sizeof (struct IBF_Key)); |
979 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 979 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
@@ -1141,7 +1141,7 @@ send_client_element (struct Operation *op, | |||
1141 | rm->result_status = htons (status); | 1141 | rm->result_status = htons (status); |
1142 | rm->request_id = htonl (op->spec->client_request_id); | 1142 | rm->request_id = htonl (op->spec->client_request_id); |
1143 | rm->element_type = element->element_type; | 1143 | rm->element_type = element->element_type; |
1144 | memcpy (&rm[1], element->data, element->size); | 1144 | GNUNET_memcpy (&rm[1], element->data, element->size); |
1145 | GNUNET_MQ_send (op->spec->set->client_mq, ev); | 1145 | GNUNET_MQ_send (op->spec->set->client_mq, ev); |
1146 | } | 1146 | } |
1147 | 1147 | ||
@@ -1239,7 +1239,7 @@ handle_p2p_elements (void *cls, | |||
1239 | 1239 | ||
1240 | element_size = ntohs (mh->size) - sizeof (struct GNUNET_SET_ElementMessage); | 1240 | element_size = ntohs (mh->size) - sizeof (struct GNUNET_SET_ElementMessage); |
1241 | ee = GNUNET_malloc (sizeof (struct ElementEntry) + element_size); | 1241 | ee = GNUNET_malloc (sizeof (struct ElementEntry) + element_size); |
1242 | memcpy (&ee[1], &emsg[1], element_size); | 1242 | GNUNET_memcpy (&ee[1], &emsg[1], element_size); |
1243 | ee->element.size = element_size; | 1243 | ee->element.size = element_size; |
1244 | ee->element.data = &ee[1]; | 1244 | ee->element.data = &ee[1]; |
1245 | ee->element.element_type = ntohs (emsg->element_type); | 1245 | ee->element.element_type = ntohs (emsg->element_type); |
@@ -1397,7 +1397,7 @@ handle_p2p_demand (void *cls, | |||
1397 | return; | 1397 | return; |
1398 | } | 1398 | } |
1399 | ev = GNUNET_MQ_msg_extra (emsg, ee->element.size, GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS); | 1399 | ev = GNUNET_MQ_msg_extra (emsg, ee->element.size, GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS); |
1400 | memcpy (&emsg[1], ee->element.data, ee->element.size); | 1400 | GNUNET_memcpy (&emsg[1], ee->element.data, ee->element.size); |
1401 | emsg->reserved = htons (0); | 1401 | emsg->reserved = htons (0); |
1402 | emsg->element_type = htons (ee->element.element_type); | 1402 | emsg->element_type = htons (ee->element.element_type); |
1403 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 1403 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
diff --git a/src/set/gnunet-service-set_union_strata_estimator.c b/src/set/gnunet-service-set_union_strata_estimator.c index 4c8ff611f..e3d6bfaec 100644 --- a/src/set/gnunet-service-set_union_strata_estimator.c +++ b/src/set/gnunet-service-set_union_strata_estimator.c | |||
@@ -71,7 +71,7 @@ strata_estimator_write (const struct StrataEstimator *se, | |||
71 | &cbuf, | 71 | &cbuf, |
72 | &nsize)) | 72 | &nsize)) |
73 | { | 73 | { |
74 | memcpy (buf, cbuf, nsize); | 74 | GNUNET_memcpy (buf, cbuf, nsize); |
75 | osize = nsize; | 75 | osize = nsize; |
76 | GNUNET_free (cbuf); | 76 | GNUNET_free (cbuf); |
77 | } | 77 | } |
diff --git a/src/set/gnunet-set-profiler.c b/src/set/gnunet-set-profiler.c index df9443529..f89817ff5 100644 --- a/src/set/gnunet-set-profiler.c +++ b/src/set/gnunet-set-profiler.c | |||
@@ -241,7 +241,7 @@ set_insert_iterator (void *cls, | |||
241 | el = GNUNET_malloc (sizeof (struct GNUNET_SET_Element) + | 241 | el = GNUNET_malloc (sizeof (struct GNUNET_SET_Element) + |
242 | sizeof (struct GNUNET_HashCode)); | 242 | sizeof (struct GNUNET_HashCode)); |
243 | el->element_type = 0; | 243 | el->element_type = 0; |
244 | memcpy (&el[1], key, sizeof *key); | 244 | GNUNET_memcpy (&el[1], key, sizeof *key); |
245 | el->data = &el[1]; | 245 | el->data = &el[1]; |
246 | el->size = sizeof *key; | 246 | el->size = sizeof *key; |
247 | GNUNET_SET_add_element (set, el, NULL, NULL); | 247 | GNUNET_SET_add_element (set, el, NULL, NULL); |
diff --git a/src/set/ibf.c b/src/set/ibf.c index 7beeeb03d..83e809a16 100644 --- a/src/set/ibf.c +++ b/src/set/ibf.c | |||
@@ -291,15 +291,15 @@ ibf_write_slice (const struct InvertibleBloomFilter *ibf, uint32_t start, uint32 | |||
291 | 291 | ||
292 | /* copy keys */ | 292 | /* copy keys */ |
293 | key_dst = (struct IBF_Key *) buf; | 293 | key_dst = (struct IBF_Key *) buf; |
294 | memcpy (key_dst, ibf->key_sum + start, count * sizeof *key_dst); | 294 | GNUNET_memcpy (key_dst, ibf->key_sum + start, count * sizeof *key_dst); |
295 | key_dst += count; | 295 | key_dst += count; |
296 | /* copy key hashes */ | 296 | /* copy key hashes */ |
297 | key_hash_dst = (struct IBF_KeyHash *) key_dst; | 297 | key_hash_dst = (struct IBF_KeyHash *) key_dst; |
298 | memcpy (key_hash_dst, ibf->key_hash_sum + start, count * sizeof *key_hash_dst); | 298 | GNUNET_memcpy (key_hash_dst, ibf->key_hash_sum + start, count * sizeof *key_hash_dst); |
299 | key_hash_dst += count; | 299 | key_hash_dst += count; |
300 | /* copy counts */ | 300 | /* copy counts */ |
301 | count_dst = (struct IBF_Count *) key_hash_dst; | 301 | count_dst = (struct IBF_Count *) key_hash_dst; |
302 | memcpy (count_dst, ibf->count + start, count * sizeof *count_dst); | 302 | GNUNET_memcpy (count_dst, ibf->count + start, count * sizeof *count_dst); |
303 | } | 303 | } |
304 | 304 | ||
305 | 305 | ||
@@ -323,15 +323,15 @@ ibf_read_slice (const void *buf, uint32_t start, uint32_t count, struct Invertib | |||
323 | 323 | ||
324 | /* copy keys */ | 324 | /* copy keys */ |
325 | key_src = (struct IBF_Key *) buf; | 325 | key_src = (struct IBF_Key *) buf; |
326 | memcpy (ibf->key_sum + start, key_src, count * sizeof *key_src); | 326 | GNUNET_memcpy (ibf->key_sum + start, key_src, count * sizeof *key_src); |
327 | key_src += count; | 327 | key_src += count; |
328 | /* copy key hashes */ | 328 | /* copy key hashes */ |
329 | key_hash_src = (struct IBF_KeyHash *) key_src; | 329 | key_hash_src = (struct IBF_KeyHash *) key_src; |
330 | memcpy (ibf->key_hash_sum + start, key_hash_src, count * sizeof *key_hash_src); | 330 | GNUNET_memcpy (ibf->key_hash_sum + start, key_hash_src, count * sizeof *key_hash_src); |
331 | key_hash_src += count; | 331 | key_hash_src += count; |
332 | /* copy counts */ | 332 | /* copy counts */ |
333 | count_src = (struct IBF_Count *) key_hash_src; | 333 | count_src = (struct IBF_Count *) key_hash_src; |
334 | memcpy (ibf->count + start, count_src, count * sizeof *count_src); | 334 | GNUNET_memcpy (ibf->count + start, count_src, count * sizeof *count_src); |
335 | } | 335 | } |
336 | 336 | ||
337 | 337 | ||
diff --git a/src/set/set_api.c b/src/set/set_api.c index 4f0cebb57..71b3b5275 100644 --- a/src/set/set_api.c +++ b/src/set/set_api.c | |||
@@ -664,9 +664,9 @@ GNUNET_SET_add_element (struct GNUNET_SET_Handle *set, | |||
664 | mqm = GNUNET_MQ_msg_extra (msg, element->size, | 664 | mqm = GNUNET_MQ_msg_extra (msg, element->size, |
665 | GNUNET_MESSAGE_TYPE_SET_ADD); | 665 | GNUNET_MESSAGE_TYPE_SET_ADD); |
666 | msg->element_type = htons (element->element_type); | 666 | msg->element_type = htons (element->element_type); |
667 | memcpy (&msg[1], | 667 | GNUNET_memcpy (&msg[1], |
668 | element->data, | 668 | element->data, |
669 | element->size); | 669 | element->size); |
670 | GNUNET_MQ_notify_sent (mqm, | 670 | GNUNET_MQ_notify_sent (mqm, |
671 | cont, cont_cls); | 671 | cont, cont_cls); |
672 | GNUNET_MQ_send (set->mq, mqm); | 672 | GNUNET_MQ_send (set->mq, mqm); |
@@ -706,9 +706,9 @@ GNUNET_SET_remove_element (struct GNUNET_SET_Handle *set, | |||
706 | element->size, | 706 | element->size, |
707 | GNUNET_MESSAGE_TYPE_SET_REMOVE); | 707 | GNUNET_MESSAGE_TYPE_SET_REMOVE); |
708 | msg->element_type = htons (element->element_type); | 708 | msg->element_type = htons (element->element_type); |
709 | memcpy (&msg[1], | 709 | GNUNET_memcpy (&msg[1], |
710 | element->data, | 710 | element->data, |
711 | element->size); | 711 | element->size); |
712 | GNUNET_MQ_notify_sent (mqm, | 712 | GNUNET_MQ_notify_sent (mqm, |
713 | cont, cont_cls); | 713 | cont, cont_cls); |
714 | GNUNET_MQ_send (set->mq, mqm); | 714 | GNUNET_MQ_send (set->mq, mqm); |
@@ -1134,7 +1134,7 @@ GNUNET_SET_element_dup (const struct GNUNET_SET_Element *element) | |||
1134 | copy->size = element->size; | 1134 | copy->size = element->size; |
1135 | copy->element_type = element->element_type; | 1135 | copy->element_type = element->element_type; |
1136 | copy->data = ©[1]; | 1136 | copy->data = ©[1]; |
1137 | memcpy ((void *) copy->data, element->data, copy->size); | 1137 | GNUNET_memcpy (copy->data, element->data, copy->size); |
1138 | 1138 | ||
1139 | return copy; | 1139 | return copy; |
1140 | } | 1140 | } |