Line | Count | Source |
1 | /* Copyright (c) 2002-2018 Dovecot authors, see the included COPYING file */ | |
2 | ||
3 | #include "lib.h" | |
4 | #include "safe-memset.h" | |
5 | ||
6 | void safe_memset(void *data, int c, size_t size) | |
7 | 34.3M | { |
8 | 34.3M | volatile unsigned int volatile_zero_idx = 0; |
9 | 34.3M | volatile unsigned char *p = data; |
10 | ||
11 | 34.3M | if (size == 0) |
12 | 5.13k | return; |
13 | ||
14 | 34.3M | do { |
15 | 34.3M | memset(data, c, size); |
16 | 34.3M | } while (p[volatile_zero_idx] != c); |
17 | 34.3M | } |