summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2010-02-04 14:03:20 +0100
committerStefan Metzmacher <metze@samba.org>2010-02-04 14:27:12 +0100
commitc2e4746fa9d68e7601e8e90cc0144d2e65a695b6 (patch)
tree2cf01ccebdd65ad86beb00e422aa05c7564e4254
parent6cf5bdd3d389a2bf30a2cd7118061d037888ab94 (diff)
downloadsamba-c2e4746fa9d68e7601e8e90cc0144d2e65a695b6.tar.gz
samba-c2e4746fa9d68e7601e8e90cc0144d2e65a695b6.tar.bz2
samba-c2e4746fa9d68e7601e8e90cc0144d2e65a695b6.zip
s3:libsmb: don't reuse the callers stype variable in cli_NetServerEnum()
When we need to do more than one network operation to get the browse list we need to use the same 'stype' value each time. metze
-rw-r--r--source3/libsmb/clirap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c
index 13e16b26df..a9a13f7b96 100644
--- a/source3/libsmb/clirap.c
+++ b/source3/libsmb/clirap.c
@@ -342,6 +342,7 @@ bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
const char *p1;
char *s1, *s2;
TALLOC_CTX *frame = talloc_stackframe();
+ uint32_t entry_stype;
if (p + 26 > rdata_end) {
TALLOC_FREE(frame);
@@ -365,7 +366,7 @@ bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
len++;
}
- stype = IVAL(p,18) & ~SV_TYPE_LOCAL_LIST_ONLY;
+ entry_stype = IVAL(p,18) & ~SV_TYPE_LOCAL_LIST_ONLY;
pull_string_talloc(frame,rdata,0,
&s1,sname,16,STR_ASCII);
@@ -377,7 +378,7 @@ bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
continue;
}
- fn(s1, stype, s2, state);
+ fn(s1, entry_stype, s2, state);
TALLOC_FREE(frame);
}