From 08ba33fe1febee722a06fb59b75ed108c34348ea Mon Sep 17 00:00:00 2001 From: Leigh Garbs Date: Wed, 19 Nov 2025 12:01:19 -0800 Subject: [PATCH] Fix #1519, add a UtAssert libc strerror_r stub --- .../ut-stubs/inc/OCS_string.h | 1 + .../ut-stubs/override_inc/string.h | 29 ++++++++++--------- .../ut-stubs/src/libc-string-stubs.c | 17 +++++++++++ 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/src/unit-test-coverage/ut-stubs/inc/OCS_string.h b/src/unit-test-coverage/ut-stubs/inc/OCS_string.h index 636f58fc9..522ef4c7a 100644 --- a/src/unit-test-coverage/ut-stubs/inc/OCS_string.h +++ b/src/unit-test-coverage/ut-stubs/inc/OCS_string.h @@ -54,5 +54,6 @@ extern char * OCS_strstr(const char *haystack, const char *needle); extern char * OCS_strcat(char *dest, const char *src); extern char * OCS_strncat(char *dest, const char *src, size_t n); extern char * OCS_strerror(int errnum); +extern char * OCS_strerror_r(int errnum, char *buf, size_t buflen); #endif /* OCS_STRING_H */ diff --git a/src/unit-test-coverage/ut-stubs/override_inc/string.h b/src/unit-test-coverage/ut-stubs/override_inc/string.h index fb3f84a16..1e5021338 100644 --- a/src/unit-test-coverage/ut-stubs/override_inc/string.h +++ b/src/unit-test-coverage/ut-stubs/override_inc/string.h @@ -31,19 +31,20 @@ /* ----------------------------------------- */ /* mappings for declarations in string.h */ /* ----------------------------------------- */ -#define memchr OCS_memchr -#define memcpy OCS_memcpy -#define memset OCS_memset -#define strcmp OCS_strcmp -#define strcpy OCS_strcpy -#define strlen OCS_strlen -#define strncmp OCS_strncmp -#define strncpy OCS_strncpy -#define strchr OCS_strchr -#define strrchr OCS_strrchr -#define strstr OCS_strstr -#define strcat OCS_strcat -#define strncat OCS_strncat -#define strerror OCS_strerror +#define memchr OCS_memchr +#define memcpy OCS_memcpy +#define memset OCS_memset +#define strcmp OCS_strcmp +#define strcpy OCS_strcpy +#define strlen OCS_strlen +#define strncmp OCS_strncmp +#define strncpy OCS_strncpy +#define strchr OCS_strchr +#define strrchr OCS_strrchr +#define strstr OCS_strstr +#define strcat OCS_strcat +#define strncat OCS_strncat +#define strerror OCS_strerror +#define strerror_r OCS_strerror_r #endif /* OVERRIDE_STRING_H */ diff --git a/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c b/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c index 642f64689..6ba0bd4dd 100644 --- a/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c +++ b/src/unit-test-coverage/ut-stubs/src/libc-string-stubs.c @@ -240,3 +240,20 @@ char *OCS_strerror(int errnum) snprintf(str, sizeof(str), "UT_ERR_%d", errnum); return str; } + +char *OCS_strerror_r(int errnum, char *buf, size_t buflen) +{ + static char str[16]; + int32 Status; + + Status = UT_DEFAULT_IMPL(OCS_strerror_r); + + if (Status != 0) + { + return NULL; + } + + /* "nominal" response */ + snprintf(str, sizeof(str), "UT_ERR_%d", errnum); + return str; +}