opnsense-src/sys/libkern
Zhenlei Huang 588838aa24 libkern: strdup.c, strndup.c: Prefer memcpy() over bcopy()
The newly allocated memory can not overlap with the string if the string
is properly null-terminated or the maxlen is a valid lengh, i.e no out
of bounds reads. Prefer memcpy() over memmove(), aka bcopy(), for slight
performance gain.

No functional change intended.

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D49026

(cherry picked from commit 90a3b6a7a4e4c8201ba1bb90fb8e2b088f3a5788)
2025-03-03 22:56:34 +08:00
..
arm sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
arm64 arm64: Mark the armv8 crc32c as supporting BTI 2024-02-19 13:17:47 +00:00
x86 sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
arc4random.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
arc4random_uniform.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ashldi3.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ashrdi3.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
asprintf.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bcd.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bcopy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bsearch.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
cmpdi2.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
crc16.c spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
divdi3.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
divmoddi4.c divmoddi*: Use separate statements instead of the comma operator. 2023-07-07 13:01:19 -07:00
explicit_bzero.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
fnmatch.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
gsb_crc32.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
iconv.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
iconv_converter_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
iconv_ucs.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
iconv_xlat.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
iconv_xlat16.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
inet_aton.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
inet_ntoa.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
inet_ntop.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
inet_pton.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
jenkins_hash.c sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
lshrdi3.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
memcchr.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
memchr.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
memcmp.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
memmem.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
memset.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
moddi3.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
murmur3_32.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
qdivrem.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
qsort.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
qsort_r.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
quad.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
random.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
scanc.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strcasecmp.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strcasestr.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strcat.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strchr.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strchrnul.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strcmp.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strcpy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strcspn.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strdup.c libkern: strdup.c, strndup.c: Prefer memcpy() over bcopy() 2025-03-03 22:56:34 +08:00
strlcat.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strlcpy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strlen.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strncat.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strncmp.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strncpy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strndup.c libkern: strdup.c, strndup.c: Prefer memcpy() over bcopy() 2025-03-03 22:56:34 +08:00
strnlen.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strnstr.c
strrchr.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strsep.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strspn.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strstr.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strtol.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strtoq.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strtoul.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strtouq.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
strvalid.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
timingsafe_bcmp.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ucmpdi2.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
udivdi3.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
udivmoddi4.c sys: Add [u]divmoddi4 intrinsics on i386. 2023-07-01 12:22:44 -07:00
umoddi3.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00