From: Marijn Suijten <marijns95@gmail.com> At least `AssocQueryStringW()` is documented to update the character count in `pcchOut` to "the number of characters actually placed in the buffer" which requires us to update the value of `*outlen` even when the buffer size was sufficient: https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-assoc... Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59402 --- dlls/shell32/assoc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dlls/shell32/assoc.c b/dlls/shell32/assoc.c index 74df71241e4..fb96311eeef 100644 --- a/dlls/shell32/assoc.c +++ b/dlls/shell32/assoc.c @@ -464,7 +464,10 @@ static HRESULT ASSOC_ReturnString(ASSOCF flags, LPWSTR out, DWORD *outlen, LPCWS *outlen = datalen; } else + { len = datalen; + *outlen = datalen; + } if (len) memcpy(out, data, len*sizeof(WCHAR)); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10072