The branch, master has been updated
       via  2b32d932223 s3:rpcclient: Goto done in cmd_samr_setuserinfo_int()
      from  130283cbae0 s3:winbind: Add additional debug level check to 
wb_xids2sids_recv()

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 2b32d932223e61935fc530eff1c05034ff817e21
Author: Andreas Schneider <a...@samba.org>
Date:   Thu Aug 19 12:09:28 2021 +0200

    s3:rpcclient: Goto done in cmd_samr_setuserinfo_int()
    
    We need to free the frame or we will run into:
        smb_panic (why=0x7fa8c511aa88 "Frame not freed in order.")
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15124
    
    Signed-off-by: Andreas Schneider <a...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Mon Jul 18 21:21:59 UTC 2022 on sn-devel-184

-----------------------------------------------------------------------

Summary of changes:
 source3/rpcclient/cmd_samr.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpcclient/cmd_samr.c b/source3/rpcclient/cmd_samr.c
index eb7f7fc8424..a048a4f935e 100644
--- a/source3/rpcclient/cmd_samr.c
+++ b/source3/rpcclient/cmd_samr.c
@@ -3296,7 +3296,8 @@ static NTSTATUS cmd_samr_setuserinfo_int(struct 
rpc_pipe_client *cli,
 
                break;
        default:
-               return NT_STATUS_INVALID_INFO_CLASS;
+               status = NT_STATUS_INVALID_INFO_CLASS;
+               goto done;
        }
 
        /* Get sam policy handle */
@@ -3356,16 +3357,19 @@ static NTSTATUS cmd_samr_setuserinfo_int(struct 
rpc_pipe_client *cli,
                                                 &types,
                                                 &result);
                if (!NT_STATUS_IS_OK(status)) {
-                       return status;
+                       goto done;
                }
                if (!NT_STATUS_IS_OK(result)) {
-                       return result;
+                       status = result;
+                       goto done;
                }
                if (rids.count != 1) {
-                       return NT_STATUS_INVALID_NETWORK_RESPONSE;
+                       status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+                       goto done;
                }
                if (types.count != 1) {
-                       return NT_STATUS_INVALID_NETWORK_RESPONSE;
+                       status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+                       goto done;
                }
 
                status = dcerpc_samr_OpenUser(b, frame,
@@ -3375,10 +3379,11 @@ static NTSTATUS cmd_samr_setuserinfo_int(struct 
rpc_pipe_client *cli,
                                              &user_pol,
                                              &result);
                if (!NT_STATUS_IS_OK(status)) {
-                       return status;
+                       goto done;
                }
                if (!NT_STATUS_IS_OK(result)) {
-                       return result;
+                       status = result;
+                       goto done;
                }
        }
 
@@ -3398,7 +3403,8 @@ static NTSTATUS cmd_samr_setuserinfo_int(struct 
rpc_pipe_client *cli,
                                                  &result);
                break;
        default:
-               return NT_STATUS_INVALID_PARAMETER;
+               status = NT_STATUS_INVALID_PARAMETER;
+               goto done;
        }
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0,("status: %s\n", nt_errstr(status)));


-- 
Samba Shared Repository

Reply via email to