aboutsummaryrefslogtreecommitdiff
path: root/src/set
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/set
parent5184c17d32a39c928c2a0fec3ee1ad098bbaa562 (diff)
downloadgnunet-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.c4
-rw-r--r--src/set/gnunet-service-set_intersection.c8
-rw-r--r--src/set/gnunet-service-set_union.c10
-rw-r--r--src/set/gnunet-service-set_union_strata_estimator.c2
-rw-r--r--src/set/gnunet-set-profiler.c2
-rw-r--r--src/set/ibf.c12
-rw-r--r--src/set/set_api.c14
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 = &copy[1]; 1136 copy->data = &copy[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}