use bzero() instead of memset_s()
authorDebian Samba Maintainers <pkg-samba-maint@lists.alioth.debian.org>
Wed, 29 May 2024 17:31:41 +0000 (20:31 +0300)
committerMichael Tokarev <mjt@tls.msk.ru>
Wed, 29 May 2024 17:31:41 +0000 (20:31 +0300)
commitfc5cfaa56c698ea6b0014455e6daa36f0980e8a8
tree789ac3001ee02c9f3a06bb918cde0b82adf2cdf8
parent92ae6b2bc0c2b54b1a2151ca2e7163993ba18cb5
use bzero() instead of memset_s()

lib/replace/replace.h header defines ZERO_STRUCT macro
which uses memset_s() function (which is similar to
memset() but can not be optimized out by the compiler).
Glibc has bzero() with similar property, while memset_s()
have is implemented in lib/replace/replace.c, - this way,
some binaries needlessly link with libreplace-samba4 just
to get rep_memset_s() symbol. By using bzero() instead,
this endless linkage is eliminated, so we can package,
for example, libldb (which uses ZERO_STRUCT) without it
linking to libreplace-samba4.

Note: actually using explicit_bzero() so it is not optimized
out by the compiler - this is the original goal of using
memset_s().

Gbp-Pq: Name use-bzero-instead-of-memset_s.diff
lib/replace/replace.h