From 49ed8e5ef079edf42bbe5325a46547ecfdff8a7d Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 4 Feb 2010 14:03:20 +0100 Subject: [PATCH] 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 Signed-off-by: Stefan Metzmacher (cherry picked from commit c2e4746fa9d68e7601e8e90cc0144d2e65a695b6) Fix bug #7098 (smbclient -L gives wrong results with a large browse list). --- source3/libsmb/clirap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c index 3f95e77aeec..9705cac7d75 100644 --- a/source3/libsmb/clirap.c +++ b/source3/libsmb/clirap.c @@ -341,6 +341,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); @@ -364,7 +365,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); @@ -376,7 +377,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); } -- 2.11.4.GIT