From 132d571fe2c5b7487954e1b4c06cd56819900704 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Wed, 15 Jan 2025 08:41:26 +0200 Subject: [PATCH] [WKSSVC] Plug memory leaks in NetrWkstaUserGetInfo --- base/services/wkssvc/rpcserver.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/base/services/wkssvc/rpcserver.c b/base/services/wkssvc/rpcserver.c index a8a5abc2312..d50eced610b 100644 --- a/base/services/wkssvc/rpcserver.c +++ b/base/services/wkssvc/rpcserver.c @@ -762,6 +762,7 @@ NetrWkstaUserGetInfo( if (pUserInfo->UserInfo0.wkui0_username == NULL) { ERR("\n"); + midl_user_free(pUserInfo); dwResult = ERROR_NOT_ENOUGH_MEMORY; break; } @@ -792,6 +793,7 @@ NetrWkstaUserGetInfo( if (pUserInfo->UserInfo1.wkui1_username == NULL) { ERR("\n"); + midl_user_free(pUserInfo); dwResult = ERROR_NOT_ENOUGH_MEMORY; break; } @@ -808,6 +810,8 @@ NetrWkstaUserGetInfo( if (pUserInfo->UserInfo1.wkui1_logon_domain == NULL) { ERR("\n"); + midl_user_free(pUserInfo->UserInfo1.wkui1_username); + midl_user_free(pUserInfo); dwResult = ERROR_NOT_ENOUGH_MEMORY; break; } @@ -826,6 +830,9 @@ NetrWkstaUserGetInfo( if (pUserInfo->UserInfo1.wkui1_logon_server == NULL) { ERR("\n"); + midl_user_free(pUserInfo->UserInfo1.wkui1_username); + midl_user_free(pUserInfo->UserInfo1.wkui1_logon_domain); + midl_user_free(pUserInfo); dwResult = ERROR_NOT_ENOUGH_MEMORY; break; }