summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-01-08 15:41:49 -0800
committerJeremy Allison <jra@samba.org>2009-01-08 15:41:49 -0800
commit590c9b7b6df643f0ff3e8f36bdc535ef00b30073 (patch)
tree63208eeaca84fbcc7b58f829ef5f82f36d0898df
parent84292022bf801112d2cb7f0f8512cf00079def20 (diff)
downloadsamba-590c9b7b6df643f0ff3e8f36bdc535ef00b30073.tar.gz
samba-590c9b7b6df643f0ff3e8f36bdc535ef00b30073.tar.bz2
samba-590c9b7b6df643f0ff3e8f36bdc535ef00b30073.zip
Fix bug #6021 - smbclient du command does not recuse properly
Jeremy.
-rw-r--r--source3/client/client.c8
-rw-r--r--source3/libsmb/clidfs.c3
2 files changed, 6 insertions, 5 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index c40c04e9c6..adcbffe6fa 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -747,11 +747,11 @@ static void do_list_helper(const char *mntpoint, file_info *f, const char *mask,
return;
}
p = strrchr_m(mask2,CLI_DIRSEP_CHAR);
- if (!p) {
- TALLOC_FREE(dir);
- return;
+ if (p) {
+ p[1] = 0;
+ } else {
+ mask2[0] = '\0';
}
- p[1] = 0;
mask2 = talloc_asprintf_append(mask2,
"%s%s*",
f->name,
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index ac68700fd0..211aca2bd8 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -308,10 +308,11 @@ static void cli_cm_set_mntpoint(struct cli_state *c, const char *mnt)
}
if (p) {
- char *name = clean_name(NULL, p->mount);
+ char *name = clean_name(NULL, mnt);
if (!name) {
return;
}
+ TALLOC_FREE(p->mount);
p->mount = talloc_strdup(p, name);
TALLOC_FREE(name);
}