Piotr Caban : msvcrt: Don't crash on NULL argument in getenv.
Module: wine Branch: stable Commit: 8d2a7f6b64d68229f826a11caaa1f9e76afe5249 URL: https://gitlab.winehq.org/wine/wine/-/commit/8d2a7f6b64d68229f826a11caaa1f9e... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Wed Feb 15 13:37:52 2023 +0100 msvcrt: Don't crash on NULL argument in getenv. (cherry picked from commit 86fb5c7ba639de2cd0357fa2e259971494a9cc13) --- 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;
participants (1)
-
Alexandre Julliard