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/regex/regex_internal.c | |
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/regex/regex_internal.c')
-rw-r--r-- | src/regex/regex_internal.c | 18 |
1 files changed, 9 insertions, 9 deletions
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 | } |