/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include <aws/core/platform/Security.h> #include <string.h> namespace Aws { namespace Security { void SecureMemClear(unsigned char *data, size_t length) { #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__) memset_s(data, length, 0, length); #else memset(data, 0, length); asm volatile("" : "+m" (data)); #endif } } // namespace Security } // namespace Aws