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:
parent
e10ce26dcb
commit
529e86163a
@ -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)));
|
||||
|
Loading…
x
Reference in New Issue
Block a user