From: Oleg Nikulin <owl2@etersoft.ru> Check that bstr is not null. Also simplify empty string check: use *bstr instead of lstrlenW(bstr). --- dlls/taskschd/task.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c index ce3e0403ec2..c22fc6be983 100644 --- a/dlls/taskschd/task.c +++ b/dlls/taskschd/task.c @@ -3651,7 +3651,8 @@ static HRESULT write_principal(IStream *stream, IPrincipal *principal) if (hr != S_OK) return hr; } hr = IPrincipal_get_UserId(principal, &bstr); - if (hr == S_OK && lstrlenW(bstr)) + /* IPrincipal_get_UserId returns S_OK with bstr == NULL if UserId has not been set beforehand */ + if (hr == S_OK && bstr && *bstr) { hr = write_text_value(stream, L"UserId", bstr); SysFreeString(bstr); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11065