From 998951cab0c32dfa9c5eb290675497c25a846a32 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Tue, 22 Jun 2010 13:32:04 +0000 Subject: [PATCH] using memmove instead of memcpy for potentially overlapping bignum copies --- opt/bignum.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opt/bignum.c b/opt/bignum.c index 5ad40e70..09c82ded 100644 --- a/opt/bignum.c +++ b/opt/bignum.c @@ -79,13 +79,13 @@ sexp sexp_copy_bignum (sexp ctx, sexp dst, sexp a, sexp_uint_t len0) { size = sexp_sizeof(bignum) + len*sizeof(sexp_uint_t); if (! dst || sexp_bignum_length(dst) < len) { dst = sexp_alloc_tagged(ctx, size, SEXP_BIGNUM); - memcpy(dst, a, size); + memmove(dst, a, size); sexp_bignum_length(dst) = len; } else { memset(dst->value.bignum.data, 0, sexp_bignum_length(dst)*sizeof(sexp_uint_t)); - memcpy(dst->value.bignum.data, a->value.bignum.data, - sexp_bignum_length(a)*sizeof(sexp_uint_t)); + memmove(dst->value.bignum.data, a->value.bignum.data, + sexp_bignum_length(a)*sizeof(sexp_uint_t)); } return dst; }