diff --git a/reactos/lib/shell32/shlexec.c b/reactos/lib/shell32/shlexec.c index 61ec3c453e8..0a18c52a97a 100644 --- a/reactos/lib/shell32/shlexec.c +++ b/reactos/lib/shell32/shlexec.c @@ -785,8 +785,9 @@ static unsigned dde_connect(WCHAR * key, WCHAR* start, WCHAR* ddeexec, if (!hConv) { TRACE("Couldn't connect. ret=%d\n", ret); - ret = 30; /* whatever */ - goto error; + DdeUninitialize(ddeInst); + SetLastError(ERROR_DDE_FAIL); + return ret = 30; /* whatever */ } strcpyW(endkey, wIfexec); ifexeclen = sizeof(ifexec);