1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-25 17:57:42 +03:00

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@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit 2b32d932223e61935fc530eff1c05034ff817e21)

Autobuild-User(v4-16-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-16-test): Sun Jul 31 19:14:59 UTC 2022 on sn-devel-184
This commit is contained in:
Andreas Schneider 2021-08-19 12:09:28 +02:00 committed by Jule Anger
parent e10ce26dcb
commit 529e86163a

View File

@ -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)));