summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/messages.c6
-rw-r--r--source3/rpc_server/srv_samr_nt.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 5e7072c2b4..8a696e0c26 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -298,12 +298,16 @@ void message_dispatch(void)
size_t len;
struct dispatch_fns *dfn;
- if (!received_signal) return;
+ if (!received_signal)
+ return;
+
+ DEBUG(10,("message_dispatch: received_signal = %d\n", received_signal));
received_signal = 0;
while (message_recv(&msg_type, &src, &buf, &len)) {
for (dfn = dispatch_fns; dfn; dfn = dfn->next) {
if (dfn->msg_type == msg_type) {
+ DEBUG(10,("message_dispatch: processing message of type %d.\n", msg_type));
dfn->fn(msg_type, src, buf, len);
}
}
diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c
index 7409acec27..4ffd1c85b5 100644
--- a/source3/rpc_server/srv_samr_nt.c
+++ b/source3/rpc_server/srv_samr_nt.c
@@ -900,6 +900,8 @@ static NTSTATUS get_group_alias_entries(TALLOC_CTX *ctx, DOMAIN_GRP **d_grp, DOM
DEBUG(10,("get_group_alias_entries: returning %d entries\n", *p_num_entries));
+ if (num_entries >= max_entries)
+ return STATUS_MORE_ENTRIES;
return NT_STATUS_OK;
}
@@ -1007,7 +1009,7 @@ NTSTATUS _samr_enum_dom_aliases(pipes_struct *p, SAMR_Q_ENUM_DOM_ALIASES *q_u, S
/*safe_free(grp);*/
- init_samr_r_enum_dom_aliases(r_u, q_u->start_idx, num_entries);
+ init_samr_r_enum_dom_aliases(r_u, q_u->start_idx + num_entries, num_entries);
DEBUG(5,("samr_enum_dom_aliases: %d\n", __LINE__));