diff --git a/reactos/base/services/rpcss/epmp.c b/reactos/base/services/rpcss/epmp.c index ceb974016be..5e2866e9af6 100644 --- a/reactos/base/services/rpcss/epmp.c +++ b/reactos/base/services/rpcss/epmp.c @@ -112,7 +112,6 @@ void __cdecl ept_insert(handle_t h, *status = EPT_S_CANT_PERFORM_OP; break; } - list_init(&entry->entry); memcpy(entry->annotation, entries[i].annotation, sizeof(entries[i].annotation)); rpc_status = TowerExplode(entries[i].tower, &entry->iface, &entry->syntax, &entry->protseq, &entry->endpoint, @@ -121,6 +120,7 @@ void __cdecl ept_insert(handle_t h, { WINE_WARN("TowerExplode failed %u\n", rpc_status); *status = rpc_status; + HeapFree(GetProcessHeap(), 0, entry); break; /* FIXME: more cleanup? */ } @@ -164,6 +164,11 @@ void __cdecl ept_delete(handle_t h, if (rpc_status != RPC_S_OK) break; entry = find_ept_entry(&iface, &syntax, protseq, endpoint, address, &entries[i].object); + + I_RpcFree(protseq); + I_RpcFree(endpoint); + I_RpcFree(address); + if (entry) delete_registered_ept_entry(entry); else @@ -171,9 +176,6 @@ void __cdecl ept_delete(handle_t h, *status = EPT_S_NOT_REGISTERED; break; } - I_RpcFree(protseq); - I_RpcFree(endpoint); - I_RpcFree(address); } LeaveCriticalSection(&csEpm); diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 98915b64069..57e9e57cf4e 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -243,7 +243,7 @@ reactos/base/applications/regedit # Out of sync reactos/base/applications/winhlp32 # Synced to WineStaging-1.9.16 reactos/base/applications/wordpad # Synced to WineStaging-1.9.16 reactos/base/applications/write # Synced to WineStaging-1.9.16 -reactos/base/services/rpcss # Synced to WineStaging-1.9.11 +reactos/base/services/rpcss # Synced to WineStaging-1.9.16 reactos/base/system/expand # Synced to WineStaging-1.9.11 reactos/base/system/msiexec # Synced to WineStaging-1.9.11 reactos/modules/rosapps/winfile # Autosync