]>
Commit | Line | Data |
---|---|---|
04b4b595 LV |
1 | /* |
2 | * Public domain. | |
3 | * Written by Matthew Dempsky. | |
4 | * Adapted for frr. | |
5 | */ | |
6 | ||
7 | #ifdef HAVE_CONFIG_H | |
8 | #include "config.h" | |
9 | #endif | |
10 | ||
11 | #include <string.h> | |
12 | ||
13 | #ifndef HAVE_EXPLICIT_BZERO | |
14 | #undef explicit_bzero | |
15 | ||
16 | ||
17 | void explicit_bzero(void *buf, size_t len); | |
18 | __attribute__((__weak__)) void | |
19 | __explicit_bzero_hook(void *buf, size_t len); | |
20 | ||
21 | __attribute__((__weak__)) void | |
22 | __explicit_bzero_hook(void *buf, size_t len) | |
23 | { | |
24 | } | |
25 | ||
26 | #if defined(__clang__) | |
27 | #pragma clang optimize off | |
28 | #else | |
29 | #pragma GCC optimize("00") | |
30 | #endif | |
31 | ||
32 | void | |
33 | explicit_bzero(void *buf, size_t len) | |
34 | { | |
35 | memset(buf, 0, len); | |
36 | __explicit_bzero_hook(buf, len); | |
37 | } | |
38 | ||
39 | #endif |