From fab6285a73c4c73bb131792d0afb20be369082d1 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 11 Apr 2022 19:24:56 +0800 Subject: [PATCH] CryptoPkg/CrtLibSupport: fix strcpy strcpy() returns a pointer to the destination string, AsciiStrCpyS() does not. So a simple #define does not work. Create a function instead. Signed-off-by: Gerd Hoffmann Reviewed-by: Jiewen Yao --- CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c | 10 ++++++++++ CryptoPkg/Library/Include/CrtLibSupport.h | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c b/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c index bac477da07..6fcbe5885e 100644 --- a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c +++ b/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c @@ -265,6 +265,16 @@ strcspn ( return Count; } +char * +strcpy ( + char *restrict strDest, + const char *strSource + ) +{ + AsciiStrCpyS (strDest, MAX_STRING_SIZE, strSource); + return strDest; +} + // // -- Character Classification Routines -- // diff --git a/CryptoPkg/Library/Include/CrtLibSupport.h b/CryptoPkg/Library/Include/CrtLibSupport.h index 287d7f76bf..bdc2654b6e 100644 --- a/CryptoPkg/Library/Include/CrtLibSupport.h +++ b/CryptoPkg/Library/Include/CrtLibSupport.h @@ -395,6 +395,12 @@ inet_pton ( void * ); +char * +strcpy ( + char *restrict strDest, + const char *strSource + ); + // // Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions // @@ -404,7 +410,6 @@ inet_pton ( #define memcmp(buf1, buf2, count) (int)(CompareMem(buf1,buf2,(UINTN)(count))) #define memmove(dest, source, count) CopyMem(dest,source,(UINTN)(count)) #define strlen(str) (size_t)(AsciiStrnLenS(str,MAX_STRING_SIZE)) -#define strcpy(strDest, strSource) AsciiStrCpyS(strDest,MAX_STRING_SIZE,strSource) #define strncpy(strDest, strSource, count) AsciiStrnCpyS(strDest,MAX_STRING_SIZE,strSource,(UINTN)count) #define strcat(strDest, strSource) AsciiStrCatS(strDest,MAX_STRING_SIZE,strSource) #define strncmp(string1, string2, count) (int)(AsciiStrnCmp(string1,string2,(UINTN)(count))) -- 2.39.2