s3-samr: refuse do process UserSetInfo with 0 fields_present.
authorGünther Deschner <gd@samba.org>
Fri, 28 Nov 2008 23:23:16 +0000 (00:23 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 11 Dec 2008 18:15:41 +0000 (19:15 +0100)
Guenther

source/rpc_server/srv_samr_nt.c

index ab230a98ff763ed56424ddead5829657fa13ec27..4f7b44a782c87329e673226f846e11a1baaa147e 100644 (file)
@@ -3869,6 +3869,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;
        }
@@ -3952,6 +3956,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;
        }
@@ -4125,6 +4133,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;
        }