Sensitive.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#ifndef SQUID_SRC_MEM_SENSITIVE_H
10#define SQUID_SRC_MEM_SENSITIVE_H
11
12#include <cstring>
13
14namespace Mem {
15
18inline void
19ZeroSensitiveMemory(void *dst, const size_t len)
20{
21 if (!len)
22 return;
23
24 assert(dst);
25
26 volatile const auto setMemory = &std::memset;
27 (void)setMemory(dst, 0, len);
28}
29
30} // namespace mem
31
32#endif /* SQUID_SRC_MEM_SENSITIVE_H */
33
#define assert(EX)
Definition: assert.h:17
Memory Management.
Definition: Allocator.h:17
void ZeroSensitiveMemory(void *dst, const size_t len)
Definition: Sensitive.h:19

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors