diff options
author | Jeremy Allison <jra@samba.org> | 2009-01-08 15:41:49 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-01-08 15:41:49 -0800 |
commit | 590c9b7b6df643f0ff3e8f36bdc535ef00b30073 (patch) | |
tree | 63208eeaca84fbcc7b58f829ef5f82f36d0898df | |
parent | 84292022bf801112d2cb7f0f8512cf00079def20 (diff) | |
download | samba-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.c | 8 | ||||
-rw-r--r-- | source3/libsmb/clidfs.c | 3 |
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); } |