Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions Misc/sbom.spdx.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 16 additions & 2 deletions Modules/_hacl/Lib_Memzero0.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,20 @@

#if defined(__APPLE__) && defined(__MACH__)
#include <AvailabilityMacros.h>
// memset_s is available from macOS 10.9, iOS 7, watchOS 2, and on all tvOS and visionOS versions.
# if (defined(MAC_OS_X_VERSION_MIN_REQUIRED) && (MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9))
# define APPLE_HAS_MEMSET_S 1
# elif (defined(IPHONE_OS_VERSION_MIN_REQUIRED) && (IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_0))
# define APPLE_HAS_MEMSET_S 1
# elif (defined(TARGET_OS_TV) && TARGET_OS_TV)
# define APPLE_HAS_MEMSET_S 1
# elif (defined(WATCH_OS_VERSION_MIN_REQUIRED) && (WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_2_0))
# define APPLE_HAS_MEMSET_S 1
# elif (defined(TARGET_OS_VISION) && TARGET_OS_VISION)
# define APPLE_HAS_MEMSET_S 1
# else
# define APPLE_HAS_MEMSET_S 0
# endif
#endif

#if (defined(__APPLE__) && defined(__MACH__)) || defined(__linux__) || defined(__OpenBSD__)
Expand Down Expand Up @@ -41,7 +55,7 @@ void Lib_Memzero0_memzero0(void *dst, uint64_t len) {

#ifdef _WIN32
SecureZeroMemory(dst, len_);
#elif defined(__APPLE__) && defined(__MACH__) && defined(MAC_OS_X_VERSION_MIN_REQUIRED) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1090)
#elif defined(__APPLE__) && defined(__MACH__) && APPLE_HAS_MEMSET_S
memset_s(dst, len_, 0, len_);
#elif (defined(__linux__) && !defined(LINUX_NO_EXPLICIT_BZERO)) || defined(__FreeBSD__) || defined(__OpenBSD__)
explicit_bzero(dst, len_);
Expand All @@ -52,7 +66,7 @@ void Lib_Memzero0_memzero0(void *dst, uint64_t len) {
#warning "Your platform does not support any safe implementation of memzero -- consider a pull request!"
volatile unsigned char *volatile dst_ = (volatile unsigned char *volatile) dst;
size_t i = 0U;
while (i < len)
while (i < len_)
dst_[i++] = 0U;
#endif
}
2 changes: 1 addition & 1 deletion Modules/_hacl/refresh.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ fi

# Update this when updating to a new version after verifying that the changes
# the update brings in are good.
expected_hacl_star_rev=322f6d58290e0ed7f4ecb84fcce12917aa0f594b
expected_hacl_star_rev=cfbd2e5de9a4b053f18cbef2cae92c4f46f28e74

hacl_dir="$(realpath "$1")"
cd "$(dirname "$0")"
Expand Down
Loading