[edk2-devel] [PATCH 7/8] CryptoPkg/CrtLibSupport: fix strcpy
Gerd Hoffmann
kraxel at redhat.com
Mon Jan 17 10:52:33 UTC 2022
strcpy() returns a pointer to the destination string, AsciiStrCpyS()
does not. So a simple #define does not work. Create a inline function
instead.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
CryptoPkg/Library/Include/CrtLibSupport.h | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/CryptoPkg/Library/Include/CrtLibSupport.h b/CryptoPkg/Library/Include/CrtLibSupport.h
index fd8e8e1a938b..981ed3097b24 100644
--- a/CryptoPkg/Library/Include/CrtLibSupport.h
+++ b/CryptoPkg/Library/Include/CrtLibSupport.h
@@ -395,6 +395,16 @@ inet_pton (
void *
);
+static inline char *
+strcpy (
+ char *restrict strDest,
+ const char *strSource
+ )
+{
+ AsciiStrCpyS (strDest, MAX_STRING_SIZE, strSource);
+ return strDest;
+}
+
//
// Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions
//
@@ -404,7 +414,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.34.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85749): https://edk2.groups.io/g/devel/message/85749
Mute This Topic: https://groups.io/mt/88481533/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list