[edk2-devel] [PATCH v2 7/8] CryptoPkg/CrtLibSupport: fix strcpy

Yao, Jiewen jiewen.yao at intel.com
Fri Apr 8 12:18:17 UTC 2022


Can we remove inline keyword?

I don't think it is really needed in EDKII project.

Thank you
Yao Jiewen

> -----Original Message-----
> From: Gerd Hoffmann <kraxel at redhat.com>
> Sent: Friday, April 8, 2022 7:16 PM
> To: devel at edk2.groups.io
> Cc: Oliver Steffen <osteffen at redhat.com>; Yao, Jiewen
> <jiewen.yao at intel.com>; Jiang, Guomin <guomin.jiang at intel.com>; Wang, Jian
> J <jian.j.wang at intel.com>; Xiaoyu Lu <xiaoyux.lu at intel.com>; Pawel Polawski
> <ppolawsk at redhat.com>; Gerd Hoffmann <kraxel at redhat.com>
> Subject: [PATCH v2 7/8] CryptoPkg/CrtLibSupport: fix strcpy
> 
> 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 287d7f76bfb3..7c1bc7755b1c 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.35.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88636): https://edk2.groups.io/g/devel/message/88636
Mute This Topic: https://groups.io/mt/90333060/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