mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-26 02:20:51 +01:00
cf8e5289a1
ssp/ssp.h needed some improvements: - `len` isn't always a size_t, it may need casted - In some cases we may want to use a len that isn't specified as a parameter (e.g., L_ctermid), so __ssp_redirect() should be more flexible. - In other cases we may want additional checking, so pull all of the declaration bits out of __ssp_redirect_raw() so that some functions can implement the body themselves. strlcat/strlcpy should be the last of the fortified functions that get their own __*_chk symbols, and these cases are only done to be consistent with the rest of the str*() set. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45679
28 lines
521 B
C
28 lines
521 B
C
/* $OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */
|
|
/*
|
|
* Public domain.
|
|
* Written by Matthew Dempsky.
|
|
*/
|
|
|
|
#include <sys/cdefs.h>
|
|
#ifdef _KERNEL
|
|
#include <sys/libkern.h>
|
|
#else
|
|
#include <string.h>
|
|
#include <ssp/ssp.h>
|
|
#endif /* _KERNEL */
|
|
|
|
__attribute__((weak)) void __explicit_bzero_hook(void *, size_t);
|
|
|
|
__attribute__((weak)) void
|
|
__explicit_bzero_hook(void *buf, size_t len)
|
|
{
|
|
}
|
|
|
|
void
|
|
__ssp_real(explicit_bzero)(void *buf, size_t len)
|
|
{
|
|
memset(buf, 0, len);
|
|
__explicit_bzero_hook(buf, len);
|
|
}
|