Bartosz Kosiorek : msvcrt: Fix error handling for strcpy_s.
Module: wine Branch: master Commit: 5b435796399a4bda28b41c0fca35b3e7d5d2df44 URL: https://gitlab.winehq.org/wine/wine/-/commit/5b435796399a4bda28b41c0fca35b3e... Author: Bartosz Kosiorek <gang65(a)poczta.onet.pl> Date: Sun Oct 23 23:33:16 2022 +0200 msvcrt: Fix error handling for strcpy_s. --- dlls/msvcrt/string.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c index b787061d789..d58a21406b1 100644 --- a/dlls/msvcrt/string.c +++ b/dlls/msvcrt/string.c @@ -1328,9 +1328,9 @@ char* CDECL strcpy(char *dst, const char *src) int CDECL strcpy_s( char* dst, size_t elem, const char* src ) { size_t i; - if(!elem) return EINVAL; - if(!dst) return EINVAL; - if(!src) + if (!MSVCRT_CHECK_PMT(dst != 0)) return EINVAL; + if (!MSVCRT_CHECK_PMT(elem != 0)) return EINVAL; + if (!MSVCRT_CHECK_PMT(src != NULL)) { dst[0] = '\0'; return EINVAL; @@ -1340,6 +1340,7 @@ int CDECL strcpy_s( char* dst, size_t elem, const char* src ) { if((dst[i] = src[i]) == '\0') return 0; } + MSVCRT_INVALID_PMT("dst[elem] is too small", ERANGE); dst[0] = '\0'; return ERANGE; }
participants (1)
-
Alexandre Julliard