[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Mon Jul 18 21:22:01 UTC 2022


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 <asn at 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 <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at 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



More information about the samba-cvs mailing list