FORTIFY_SOURCE: remove memcpy overlap checks
These checks haven't been as useful as I hoped, and it's
causing a false positive finding. Remove the overlap
compile time checks.
Change-Id: I5d45dde10ae4663d728230d41fa904adf20acaea
diff --git a/libc/include/string.h b/libc/include/string.h
index 2ed74e8..6643d28 100644
--- a/libc/include/string.h
+++ b/libc/include/string.h
@@ -91,8 +91,6 @@
__attribute__((__error__("memcpy called with size bigger than destination")));
extern void __memcpy_src_size_error()
__attribute__((__error__("memcpy called with size bigger than source")));
-extern void __memcpy_overlap_error()
- __attribute__((__error__("memcpy called with overlapping regions")));
__BIONIC_FORTIFY_INLINE
void *memcpy (void *dest, const void *src, size_t copy_amount) {
@@ -109,11 +107,6 @@
__memcpy_src_size_error();
}
- if (__builtin_constant_p(d - s) && __builtin_constant_p(copy_amount)
- && (((size_t)(d - s) < copy_amount) || ((size_t)(s - d) < copy_amount))) {
- __memcpy_overlap_error();
- }
-
return __builtin___memcpy_chk(dest, src, copy_amount, d_len);
}