diff --git a/vendor/safestringlib/CMakeLists.txt b/vendor/safestringlib/CMakeLists.txt index 213d5a8f5..41d236591 100644 --- a/vendor/safestringlib/CMakeLists.txt +++ b/vendor/safestringlib/CMakeLists.txt @@ -145,14 +145,14 @@ set_target_properties(${PROJECT_NAME}_objlib target_compile_definitions(${PROJECT_NAME}_objlib PRIVATE -DSTDC_HEADERS) +target_compile_options(${PROJECT_NAME}_objlib + PRIVATE -Wall -Wextra -Wsign-compare -Wformat-security) target_compile_options(${PROJECT_NAME}_objlib PRIVATE -Wno-unknown-pragmas -Wno-unused-parameter) if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 7) target_compile_options(${PROJECT_NAME}_objlib PRIVATE -Wno-implicit-fallthrough) endif() -target_compile_options(${PROJECT_NAME}_objlib - PRIVATE -Wall -Wextra -Wsign-compare -Wformat-security) target_compile_options(${PROJECT_NAME}_objlib PRIVATE -Wstack-protector -Winit-self) target_compile_options(${PROJECT_NAME}_objlib @@ -166,7 +166,10 @@ target_compile_options(${PROJECT_NAME}_objlib PRIVATE -fPIE -fPIC) if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 6) target_compile_options(${PROJECT_NAME}_objlib PRIVATE -mmitigate-rop) endif() -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now") +if(APPLE) +elseif(UNIX) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now") +endif() option(BUILD_ERROR_ON_WARNING "Fail compilation on warning" OFF) diff --git a/vendor/safestringlib/include/safe_mem_lib.h b/vendor/safestringlib/include/safe_mem_lib.h index 162efd2eb..da4dc2a5e 100644 --- a/vendor/safestringlib/include/safe_mem_lib.h +++ b/vendor/safestringlib/include/safe_mem_lib.h @@ -97,7 +97,12 @@ extern errno_t wmemmove_s(wchar_t *dest, rsize_t dmax, /* set bytes */ -extern errno_t memset_s(void *dest, rsize_t dmax, uint8_t value); +/* NOTE: This name is changed from memset_s to memset8_s out because it does + * not match with the C11 declaration of memset_s on OSX. The upstream issue + * can be found here: + * https://github.com/intel/safestringlib/issues/14 + */ +extern errno_t memset8_s(void *dest, rsize_t dmax, uint8_t value); /* set uint16_t */ extern errno_t memset16_s(uint16_t *dest, rsize_t dmax, uint16_t value); diff --git a/vendor/safestringlib/safeclib/memset_s.c b/vendor/safestringlib/safeclib/memset_s.c index f19717d03..a1ca0ac4e 100644 --- a/vendor/safestringlib/safeclib/memset_s.c +++ b/vendor/safestringlib/safeclib/memset_s.c @@ -1,5 +1,5 @@ /*------------------------------------------------------------------ - * memset_s + * memset8_s * * October 2008, Bo Berry * @@ -37,12 +37,12 @@ /** * NAME - * memset_s + * memset8_s * * SYNOPSIS * #include "safe_mem_lib.h" * errno_t - * memset_s(void *dest, rsize_t len, uint8_t value) + * memset8_s(void *dest, rsize_t len, uint8_t value) * * DESCRIPTION * Sets len bytes starting at dest to the specified value. @@ -78,22 +78,22 @@ * */ errno_t -memset_s (void *dest, rsize_t len, uint8_t value) +memset8_s (void *dest, rsize_t len, uint8_t value) { if (dest == NULL) { - invoke_safe_mem_constraint_handler("memset_s: dest is null", + invoke_safe_mem_constraint_handler("memset8_s: dest is null", NULL, ESNULLP); return (RCNEGATE(ESNULLP)); } if (len == 0) { - invoke_safe_mem_constraint_handler("memset_s: len is 0", + invoke_safe_mem_constraint_handler("memset8_s: len is 0", NULL, ESZEROL); return (RCNEGATE(ESZEROL)); } if (len > RSIZE_MAX_MEM) { - invoke_safe_mem_constraint_handler("memset_s: len exceeds max", + invoke_safe_mem_constraint_handler("memset8_s: len exceeds max", NULL, ESLEMAX); return (RCNEGATE(ESLEMAX)); } @@ -102,4 +102,4 @@ memset_s (void *dest, rsize_t len, uint8_t value) return (RCNEGATE(EOK)); } -EXPORT_SYMBOL(memset_s) +EXPORT_SYMBOL(memset8_s)