Module: wine Branch: master Commit: 86fb5c7ba639de2cd0357fa2e259971494a9cc13 URL: https://gitlab.winehq.org/wine/wine/-/commit/86fb5c7ba639de2cd0357fa2e259971...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Feb 15 13:37:52 2023 +0100
msvcrt: Don't crash on NULL argument in getenv.
---
dlls/msvcrt/environ.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/msvcrt/environ.c b/dlls/msvcrt/environ.c index e541bd5bff0..145f7d0640f 100644 --- a/dlls/msvcrt/environ.c +++ b/dlls/msvcrt/environ.c @@ -26,18 +26,21 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
/********************************************************************* - * getenv (MSVCRT.@) + * getenv (MSVCRT.@) */ char * CDECL getenv(const char *name) { char **env; - unsigned int length=strlen(name); + size_t len; + + if (!MSVCRT_CHECK_PMT(name != NULL)) return NULL; + len = strlen(name);
for (env = MSVCRT__environ; *env; env++) { char *str = *env; char *pos = strchr(str,'='); - if (pos && ((pos - str) == length) && !_strnicmp(str,name,length)) + if (pos && ((pos - str) == len) && !_strnicmp(str, name, len)) { TRACE("(%s): got %s\n", debugstr_a(name), debugstr_a(pos + 1)); return pos + 1;