On Sunday 15 February 2026 15:40:12 LIU Hao wrote:
> 在 2026-2-14 02:29, Pali Rohár 写道:
> > On Saturday 17 January 2026 13:43:02 Pali Rohár wrote:
> > > Here is simple test which proves that it returns 0 in this case:
> > > https://godbolt.org/z/8sTeWY4dv
> > > 
> > > I can send a test file with all of those special combinations, so would
> > > be sure how it really behaves.
> > 
> > Do you still think that this change is really incorrect?
> > Or do you need some other tests from me?
> 
> I have observed the same on Visual Studio 2026. Indeed, unlike `getenv()`
> and `dupenv_s()` which fail with null variable name pointers, `getenv_s()`
> succeeds and reports a length of zero.
> 
> So this should be accepted; however there need be a comment which says that
> the contradiction with Microsoft documentation is by design, so it's not our
> bug. I have pushed this patches with this change:

Ok, that is fine.

I will try to prepare also testcase to cover all those special
combinations. So there would be an automated test for it.

> 
> diff --git a/mingw-w64-crt/secapi/getenv_s.c b/mingw-w64-crt/secapi/getenv_s.c
> index 0b31f4188..07ea3ac49 100644
> --- a/mingw-w64-crt/secapi/getenv_s.c
> +++ b/mingw-w64-crt/secapi/getenv_s.c
> @@ -29,6 +29,7 @@ static errno_t __cdecl emu_getenv_s(size_t *pReturnValue, 
> char *dstBuf, rsize_t
>          *pReturnValue = 0;
>          if (dstBuf)
>              dstBuf[0] = '\0';
> +        /* UCRT `getenv_s()` reports success in this case. */
>          return 0;
>      }
> 
> diff --git a/mingw-w64-libraries/winstorecompat/src/getenv_s.c
> b/mingw-w64-libraries/winstorecompat/src/getenv_s.c
> index 66a8368df..93db31ba0 100644
> --- a/mingw-w64-libraries/winstorecompat/src/getenv_s.c
> +++ b/mingw-w64-libraries/winstorecompat/src/getenv_s.c
> @@ -30,6 +30,7 @@ errno_t __cdecl getenv_s(size_t *pReturnValue, char 
> *dstBuf, rsize_t dstSize, co
>          *pReturnValue = 0;
>          if (dstBuf)
>              dstBuf[0] = '\0';
> +        /* UCRT `getenv_s()` reports success in this case. */
>          return 0;
>      }


_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to