aboutsummaryrefslogtreecommitdiff
path: root/src/regex
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/regex
parent5184c17d32a39c928c2a0fec3ee1ad098bbaa562 (diff)
downloadgnunet-d8c53b12a818ff7cf82d06a1a69c395bdef85ee6.tar.gz
gnunet-d8c53b12a818ff7cf82d06a1a69c395bdef85ee6.zip
-avoid calling memcpy() with NULL argument, even if len is 0
Diffstat (limited to 'src/regex')
-rw-r--r--src/regex/gnunet-service-regex.c4
-rw-r--r--src/regex/regex_api_announce.c2
-rw-r--r--src/regex/regex_api_search.c2
-rw-r--r--src/regex/regex_block_lib.c6
-rw-r--r--src/regex/regex_internal.c18
-rw-r--r--src/regex/regex_internal_dht.c2
6 files changed, 17 insertions, 17 deletions
diff --git a/src/regex/gnunet-service-regex.c b/src/regex/gnunet-service-regex.c
index 530e4f358..294670be6 100644
--- a/src/regex/gnunet-service-regex.c
+++ b/src/regex/gnunet-service-regex.c
@@ -288,10 +288,10 @@ handle_search_result (void *cls,
288 result->put_path_length = htons ((uint16_t) put_path_length); 288 result->put_path_length = htons ((uint16_t) put_path_length);
289 result->id = *id; 289 result->id = *id;
290 gp = &result->id; 290 gp = &result->id;
291 memcpy (&gp[1], 291 GNUNET_memcpy (&gp[1],
292 get_path, 292 get_path,
293 get_path_length * sizeof (struct GNUNET_PeerIdentity)); 293 get_path_length * sizeof (struct GNUNET_PeerIdentity));
294 memcpy (&gp[1 + get_path_length], 294 GNUNET_memcpy (&gp[1 + get_path_length],
295 put_path, 295 put_path,
296 put_path_length * sizeof (struct GNUNET_PeerIdentity)); 296 put_path_length * sizeof (struct GNUNET_PeerIdentity));
297 GNUNET_SERVER_notification_context_unicast (nc, 297 GNUNET_SERVER_notification_context_unicast (nc,
diff --git a/src/regex/regex_api_announce.c b/src/regex/regex_api_announce.c
index 8953436a1..8fded96d2 100644
--- a/src/regex/regex_api_announce.c
+++ b/src/regex/regex_api_announce.c
@@ -118,7 +118,7 @@ announce_reconnect (struct GNUNET_REGEX_Announcement *a)
118 am->compression = htons (a->compression); 118 am->compression = htons (a->compression);
119 am->reserved = htons (0); 119 am->reserved = htons (0);
120 am->refresh_delay = GNUNET_TIME_relative_hton (a->refresh_delay); 120 am->refresh_delay = GNUNET_TIME_relative_hton (a->refresh_delay);
121 memcpy (&am[1], 121 GNUNET_memcpy (&am[1],
122 a->regex, 122 a->regex,
123 slen); 123 slen);
124 GNUNET_MQ_send (a->mq, 124 GNUNET_MQ_send (a->mq,
diff --git a/src/regex/regex_api_search.c b/src/regex/regex_api_search.c
index 6f21fe863..84a58f367 100644
--- a/src/regex/regex_api_search.c
+++ b/src/regex/regex_api_search.c
@@ -177,7 +177,7 @@ search_reconnect (struct GNUNET_REGEX_Search *s)
177 env = GNUNET_MQ_msg_extra (rsm, 177 env = GNUNET_MQ_msg_extra (rsm,
178 slen, 178 slen,
179 GNUNET_MESSAGE_TYPE_REGEX_SEARCH); 179 GNUNET_MESSAGE_TYPE_REGEX_SEARCH);
180 memcpy (&rsm[1], 180 GNUNET_memcpy (&rsm[1],
181 s->string, 181 s->string,
182 slen); 182 slen);
183 GNUNET_MQ_send (s->mq, 183 GNUNET_MQ_send (s->mq,
diff --git a/src/regex/regex_block_lib.c b/src/regex/regex_block_lib.c
index cc9e1a08e..d545c89de 100644
--- a/src/regex/regex_block_lib.c
+++ b/src/regex/regex_block_lib.c
@@ -448,17 +448,17 @@ REGEX_BLOCK_create (const char *proof,
448 block->num_edges = htons (num_edges); 448 block->num_edges = htons (num_edges);
449 block->num_destinations = htons (unique_destinations); 449 block->num_destinations = htons (unique_destinations);
450 dests = (struct GNUNET_HashCode *) &block[1]; 450 dests = (struct GNUNET_HashCode *) &block[1];
451 memcpy (dests, destinations, sizeof (struct GNUNET_HashCode) * unique_destinations); 451 GNUNET_memcpy (dests, destinations, sizeof (struct GNUNET_HashCode) * unique_destinations);
452 edgeinfos = (struct EdgeInfo *) &dests[unique_destinations]; 452 edgeinfos = (struct EdgeInfo *) &dests[unique_destinations];
453 aux = (char *) &edgeinfos[num_edges]; 453 aux = (char *) &edgeinfos[num_edges];
454 off = len; 454 off = len;
455 memcpy (aux, proof, len); 455 GNUNET_memcpy (aux, proof, len);
456 for (i=0;i<num_edges;i++) 456 for (i=0;i<num_edges;i++)
457 { 457 {
458 slen = strlen (edges[i].label); 458 slen = strlen (edges[i].label);
459 edgeinfos[i].token_length = htons ((uint16_t) slen); 459 edgeinfos[i].token_length = htons ((uint16_t) slen);
460 edgeinfos[i].destination_index = htons (destination_indices[i]); 460 edgeinfos[i].destination_index = htons (destination_indices[i]);
461 memcpy (&aux[off], 461 GNUNET_memcpy (&aux[off],
462 edges[i].label, 462 edges[i].label,
463 slen); 463 slen);
464 off += slen; 464 off += slen;
diff --git a/src/regex/regex_internal.c b/src/regex/regex_internal.c
index 1d39efca1..5575c89dc 100644
--- a/src/regex/regex_internal.c
+++ b/src/regex/regex_internal.c
@@ -645,7 +645,7 @@ sb_realloc (struct StringBuffer *ret,
645 old = ret->abuf; 645 old = ret->abuf;
646 ret->abuf = GNUNET_malloc (nlen); 646 ret->abuf = GNUNET_malloc (nlen);
647 ret->blen = nlen; 647 ret->blen = nlen;
648 memcpy (ret->abuf, 648 GNUNET_memcpy (ret->abuf,
649 ret->sbuf, 649 ret->sbuf,
650 ret->slen); 650 ret->slen);
651 ret->sbuf = ret->abuf; 651 ret->sbuf = ret->abuf;
@@ -668,7 +668,7 @@ sb_append (struct StringBuffer *ret,
668 ret->null_flag = GNUNET_NO; 668 ret->null_flag = GNUNET_NO;
669 if (ret->blen < sarg->slen + ret->slen) 669 if (ret->blen < sarg->slen + ret->slen)
670 sb_realloc (ret, ret->blen + sarg->slen + 128); 670 sb_realloc (ret, ret->blen + sarg->slen + 128);
671 memcpy (&ret->sbuf[ret->slen], 671 GNUNET_memcpy (&ret->sbuf[ret->slen],
672 sarg->sbuf, 672 sarg->sbuf,
673 sarg->slen); 673 sarg->slen);
674 ret->slen += sarg->slen; 674 ret->slen += sarg->slen;
@@ -692,7 +692,7 @@ sb_append_cstr (struct StringBuffer *ret,
692 ret->null_flag = GNUNET_NO; 692 ret->null_flag = GNUNET_NO;
693 if (ret->blen < cstr_len + ret->slen) 693 if (ret->blen < cstr_len + ret->slen)
694 sb_realloc (ret, ret->blen + cstr_len + 128); 694 sb_realloc (ret, ret->blen + cstr_len + 128);
695 memcpy (&ret->sbuf[ret->slen], 695 GNUNET_memcpy (&ret->sbuf[ret->slen],
696 cstr, 696 cstr,
697 cstr_len); 697 cstr_len);
698 ret->slen += cstr_len; 698 ret->slen += cstr_len;
@@ -871,7 +871,7 @@ sb_strdup (struct StringBuffer *out,
871 } 871 }
872 out->sbuf = out->abuf; 872 out->sbuf = out->abuf;
873 out->slen = in->slen; 873 out->slen = in->slen;
874 memcpy (out->sbuf, in->sbuf, out->slen); 874 GNUNET_memcpy (out->sbuf, in->sbuf, out->slen);
875} 875}
876 876
877 877
@@ -899,7 +899,7 @@ sb_strdup_cstr (struct StringBuffer *out,
899 out->slen); 899 out->slen);
900 } 900 }
901 out->sbuf = out->abuf; 901 out->sbuf = out->abuf;
902 memcpy (out->sbuf, cstr, out->slen); 902 GNUNET_memcpy (out->sbuf, cstr, out->slen);
903} 903}
904 904
905 905
@@ -1067,7 +1067,7 @@ remove_epsilon (const struct StringBuffer *str,
1067 } 1067 }
1068 ret->sbuf = ret->abuf; 1068 ret->sbuf = ret->abuf;
1069 ret->slen = str->slen - 3; 1069 ret->slen = str->slen - 3;
1070 memcpy (ret->sbuf, &str->sbuf[2], ret->slen); 1070 GNUNET_memcpy (ret->sbuf, &str->sbuf[2], ret->slen);
1071 return; 1071 return;
1072 } 1072 }
1073 sb_strdup (ret, str); 1073 sb_strdup (ret, str);
@@ -1417,12 +1417,12 @@ automaton_create_proofs_simplify (const struct StringBuffer *R_last_ij,
1417 1417
1418 length_l = length; 1418 length_l = length;
1419 temp_a.sbuf = temp_a.abuf; 1419 temp_a.sbuf = temp_a.abuf;
1420 memcpy (temp_a.sbuf, R_last_kj->sbuf, length_l); 1420 GNUNET_memcpy (temp_a.sbuf, R_last_kj->sbuf, length_l);
1421 temp_a.slen = length_l; 1421 temp_a.slen = length_l;
1422 1422
1423 length_r = R_last_kj->slen - length; 1423 length_r = R_last_kj->slen - length;
1424 temp_b.sbuf = temp_b.abuf; 1424 temp_b.sbuf = temp_b.abuf;
1425 memcpy (temp_b.sbuf, &R_last_kj->sbuf[length], length_r); 1425 GNUNET_memcpy (temp_b.sbuf, &R_last_kj->sbuf[length], length_r);
1426 temp_b.slen = length_r; 1426 temp_b.slen = length_r;
1427 1427
1428 /* e|(ab)+ = (ab)* */ 1428 /* e|(ab)+ = (ab)* */
@@ -3569,7 +3569,7 @@ store_all_states (void *cls,
3569 tmp->num_edges = num_edges; 3569 tmp->num_edges = num_edges;
3570 edges_size = sizeof (struct REGEX_BLOCK_Edge) * num_edges; 3570 edges_size = sizeof (struct REGEX_BLOCK_Edge) * num_edges;
3571 tmp->edges = GNUNET_malloc (edges_size); 3571 tmp->edges = GNUNET_malloc (edges_size);
3572 memcpy(tmp->edges, edges, edges_size); 3572 GNUNET_memcpy(tmp->edges, edges, edges_size);
3573 GNUNET_CONTAINER_multihashmap_put (hm, key, tmp, 3573 GNUNET_CONTAINER_multihashmap_put (hm, key, tmp,
3574 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); 3574 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST);
3575} 3575}
diff --git a/src/regex/regex_internal_dht.c b/src/regex/regex_internal_dht.c
index 47fae90d6..b80dabca0 100644
--- a/src/regex/regex_internal_dht.c
+++ b/src/regex/regex_internal_dht.c
@@ -476,7 +476,7 @@ dht_get_string_handler (void *cls, struct GNUNET_TIME_Absolute exp,
476 copy = GNUNET_malloc (sizeof (struct Result) + size); 476 copy = GNUNET_malloc (sizeof (struct Result) + size);
477 copy->size = size; 477 copy->size = size;
478 copy->data = &copy[1]; 478 copy->data = &copy[1];
479 memcpy (&copy[1], block, size); 479 GNUNET_memcpy (&copy[1], block, size);
480 GNUNET_break (GNUNET_OK == 480 GNUNET_break (GNUNET_OK ==
481 GNUNET_CONTAINER_multihashmap_put (info->dht_get_results, 481 GNUNET_CONTAINER_multihashmap_put (info->dht_get_results,
482 key, copy, 482 key, copy,