summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/rpc_server/srv_samr_nt.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 7cc4b2c192..7baab1c86f 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -3891,6 +3891,10 @@ static NTSTATUS set_user_info_21(TALLOC_CTX *mem_ctx,
return NT_STATUS_INVALID_PARAMETER;
}
+ if (id21->fields_present == 0) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
if (id21->fields_present & SAMR_FIELD_LAST_PWD_CHANGE) {
return NT_STATUS_ACCESS_DENIED;
}
@@ -3974,6 +3978,10 @@ static NTSTATUS set_user_info_23(TALLOC_CTX *mem_ctx,
return NT_STATUS_INVALID_PARAMETER;
}
+ if (id23->info.fields_present == 0) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
if (id23->info.fields_present & SAMR_FIELD_LAST_PWD_CHANGE) {
return NT_STATUS_ACCESS_DENIED;
}
@@ -4142,6 +4150,10 @@ static NTSTATUS set_user_info_25(TALLOC_CTX *mem_ctx,
return NT_STATUS_INVALID_PARAMETER;
}
+ if (id25->info.fields_present == 0) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
if (id25->info.fields_present & SAMR_FIELD_LAST_PWD_CHANGE) {
return NT_STATUS_ACCESS_DENIED;
}