https://git.reactos.org/?p=reactos.git;a=commitdiff;h=132d571fe2c5b7487954e1b4c06cd56819900704

commit 132d571fe2c5b7487954e1b4c06cd56819900704
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Wed Jan 15 08:41:26 2025 +0200
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Fri Jan 17 12:54:29 2025 +0200

    [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;
             }

Reply via email to