1007871c3SRobert Clausecker /*-
2007871c3SRobert Clausecker * SPDF-License-Identifier: BSD-2-Clause
3007871c3SRobert Clausecker *
4007871c3SRobert Clausecker * Copyright (c) 2024 Robert Clausecker <fuz@FreeBSD.org>
5007871c3SRobert Clausecker */
6007871c3SRobert Clausecker
7007871c3SRobert Clausecker #include <string.h>
88983acc8SRobert Clausecker #include <ssp/ssp.h>
9007871c3SRobert Clausecker
10007871c3SRobert Clausecker __attribute__((weak)) void __memset_explicit_hook(void *, int, size_t);
11007871c3SRobert Clausecker
12007871c3SRobert Clausecker __attribute__((weak)) void
__memset_explicit_hook(void * buf,int ch,size_t len)13007871c3SRobert Clausecker __memset_explicit_hook(void *buf, int ch, size_t len)
14007871c3SRobert Clausecker {
15007871c3SRobert Clausecker (void)buf;
16007871c3SRobert Clausecker (void)ch;
17007871c3SRobert Clausecker (void)len;
18007871c3SRobert Clausecker }
19007871c3SRobert Clausecker
20007871c3SRobert Clausecker void *
memset_explicit(void * buf,int ch,size_t len)218983acc8SRobert Clausecker __ssp_real(memset_explicit)(void *buf, int ch, size_t len)
22007871c3SRobert Clausecker {
23007871c3SRobert Clausecker memset(buf, ch, len);
24007871c3SRobert Clausecker __memset_explicit_hook(buf, ch, len);
25007871c3SRobert Clausecker
26007871c3SRobert Clausecker return (buf);
27007871c3SRobert Clausecker }
28