[PATCH v2 0/3] strlcpy and related functions
H.J. Lu
hjl.tools@gmail.com
Thu Apr 20 16:19:47 GMT 2023
On Thu, Apr 20, 2023 at 5:28 AM Florian Weimer via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> I split this repost somewhat differently, with the manual updates in a
> separate commit, so that I can give proper attribution to Paul's work.
>
> I went through the discussion again and wasn't sure if there was
> anything regarding the actual implementation, beyond the fortify macro
> usage (discussed with Siddhesh) and Paul's suggestion to open-code the
> copying and counting (which I declined).
>
> Thanks,
> Florian
>
> Florian Weimer (2):
> Implement strlcpy and strlcat [BZ #178]
> Add the wcslcpy, wcslcat functions
>
> Paul Eggert (1):
> manual: Manual update for strlcat, strlcpy, wcslcat, wclscpy
>
> NEWS | 3 +
> debug/Makefile | 4 +
> debug/Versions | 6 ++
> debug/strlcat_chk.c | 31 ++++++
> debug/strlcpy_chk.c | 31 ++++++
> debug/tst-fortify.c | 48 ++++++++++
> debug/wcslcat_chk.c | 31 ++++++
> debug/wcslcpy_chk.c | 31 ++++++
> include/string.h | 4 +
> include/wchar.h | 5 +
> manual/maint.texi | 8 ++
> manual/string.texi | 96 ++++++++++++++++++-
> string/Makefile | 4 +
> string/Versions | 4 +
> string/bits/string_fortified.h | 36 +++++++
> string/string.h | 13 +++
> string/strlcat.c | 59 ++++++++++++
> string/strlcpy.c | 46 +++++++++
> string/tst-strlcat.c | 84 ++++++++++++++++
> string/tst-strlcpy.c | 68 +++++++++++++
> sysdeps/mach/hurd/i386/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/arc/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/csky/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/i386/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 8 ++
> .../sysv/linux/loongarch/lp64/libc.abilist | 8 ++
> .../sysv/linux/m68k/coldfire/libc.abilist | 8 ++
> .../unix/sysv/linux/m68k/m680x0/libc.abilist | 8 ++
> .../sysv/linux/microblaze/be/libc.abilist | 8 ++
> .../sysv/linux/microblaze/le/libc.abilist | 8 ++
> .../sysv/linux/mips/mips32/fpu/libc.abilist | 8 ++
> .../sysv/linux/mips/mips32/nofpu/libc.abilist | 8 ++
> .../sysv/linux/mips/mips64/n32/libc.abilist | 8 ++
> .../sysv/linux/mips/mips64/n64/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/or1k/libc.abilist | 8 ++
> .../linux/powerpc/powerpc32/fpu/libc.abilist | 8 ++
> .../powerpc/powerpc32/nofpu/libc.abilist | 8 ++
> .../linux/powerpc/powerpc64/be/libc.abilist | 8 ++
> .../linux/powerpc/powerpc64/le/libc.abilist | 8 ++
> .../unix/sysv/linux/riscv/rv32/libc.abilist | 8 ++
> .../unix/sysv/linux/riscv/rv64/libc.abilist | 8 ++
> .../unix/sysv/linux/s390/s390-32/libc.abilist | 8 ++
> .../unix/sysv/linux/s390/s390-64/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 8 ++
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 8 ++
> .../sysv/linux/sparc/sparc32/libc.abilist | 8 ++
> .../sysv/linux/sparc/sparc64/libc.abilist | 8 ++
> .../unix/sysv/linux/x86_64/64/libc.abilist | 8 ++
> .../unix/sysv/linux/x86_64/x32/libc.abilist | 8 ++
> wcsmbs/Makefile | 4 +
> wcsmbs/Versions | 2 +
> wcsmbs/bits/wchar2.h | 37 +++++++
> wcsmbs/tst-wcslcat.c | 93 ++++++++++++++++++
> wcsmbs/tst-wcslcpy.c | 78 +++++++++++++++
> wcsmbs/wchar.h | 13 +++
> wcsmbs/wcslcat.c | 60 ++++++++++++
> wcsmbs/wcslcpy.c | 46 +++++++++
> 63 files changed, 1222 insertions(+), 3 deletions(-)
> create mode 100644 debug/strlcat_chk.c
> create mode 100644 debug/strlcpy_chk.c
> create mode 100644 debug/wcslcat_chk.c
> create mode 100644 debug/wcslcpy_chk.c
> create mode 100644 string/strlcat.c
> create mode 100644 string/strlcpy.c
> create mode 100644 string/tst-strlcat.c
> create mode 100644 string/tst-strlcpy.c
> create mode 100644 wcsmbs/tst-wcslcat.c
> create mode 100644 wcsmbs/tst-wcslcpy.c
> create mode 100644 wcsmbs/wcslcat.c
> create mode 100644 wcsmbs/wcslcpy.c
>
>
> base-commit: 65cbd52174f5bc211dd655727c2239e25e55bfce
> --
> 2.40.0
>
Should we add benchtests for them?
--
H.J.
More information about the Libc-alpha
mailing list