author | Rich Felker <dalias@aerifal.cx> | 2018年09月23日 00:03:08 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2018年09月23日 00:03:08 -0400 |
commit | debadaa238e90fce897b467a9efefcbbc0155d06 (patch) | |
tree | 36922273f94c2bba55e05f09ac4997ace0522017 | |
parent | c50985d5c8e316c5c464f352e79eeebfed1121a9 (diff) | |
download | musl-debadaa238e90fce897b467a9efefcbbc0155d06.tar.gz |
-rw-r--r-- | src/string/memmove.c | 2 |
diff --git a/src/string/memmove.c b/src/string/memmove.c index 27f670e1..f225bb30 100644 --- a/src/string/memmove.c +++ b/src/string/memmove.c @@ -10,7 +10,7 @@ void *memmove(void *dest, const void *src, size_t n) const char *s = src; if (d==s) return d; - if (s+n <= d || d+n <= s) return memcpy(d, s, n); + if ((uintptr_t)s-(uintptr_t)d-n <= -2*n) return memcpy(d, s, n); if (d<s) { if ((uintptr_t)s % WS == (uintptr_t)d % WS) { |