summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-04-25 01:37:39 +0000
committerTim Potter <tpot@samba.org>2003-04-25 01:37:39 +0000
commitf1e92738b2464d4833e1d41f0d82aef2dd071583 (patch)
treeb7f020a6c6895e15a9b53addd4d4abef61180868
parent07511789c0469829babaefbd1ad1742b1ab799da (diff)
downloadsamba-f1e92738b2464d4833e1d41f0d82aef2dd071583.tar.gz
samba-f1e92738b2464d4833e1d41f0d82aef2dd071583.tar.bz2
samba-f1e92738b2464d4833e1d41f0d82aef2dd071583.zip
When calling cli_samr_enum_{dom,als}_groups in a while loop, the
terminating condition should be result != STATUS_MORE_ENTRIES, not result == NT_STATUS_OK otherwise we get stuck in an infinite loop when there's any sign of trouble. (This used to be commit 2266d281a4bb0a034461ba3e72513609f86e9a38)
-rw-r--r--source3/utils/net_rpc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c
index 9ae50aaf0d..cf57004a81 100644
--- a/source3/utils/net_rpc.c
+++ b/source3/utils/net_rpc.c
@@ -977,7 +977,7 @@ rpc_group_list_internals(const DOM_SID *domain_sid, struct cli_state *cli,
else
printf("%-21.21s\n", groups[i].acct_name);
}
- } while (!NT_STATUS_IS_OK(result));
+ } while (NT_STATUS_V(result) == NT_STATUS_V(STATUS_MORE_ENTRIES));
/* query domain aliases */
do {
result = cli_samr_enum_als_groups(cli, mem_ctx, &domain_pol,
@@ -992,7 +992,7 @@ rpc_group_list_internals(const DOM_SID *domain_sid, struct cli_state *cli,
else
printf("%-21.21s\n", groups[i].acct_name);
}
- } while (!NT_STATUS_IS_OK(result));
+ } while (NT_STATUS_V(result) == NT_STATUS_V(STATUS_MORE_ENTRIES));
cli_samr_close(cli, mem_ctx, &domain_pol);
/* Get builtin policy handle */